调用浏览器时报错android.content.ActivityNotFoundException: No Activity found to handle Intent
今天在使用Intent隐式调用浏览器打开接口获取的网址时,出现以下错误:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.junmo.yiyaya, PID: 5458
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=www.baidu.com }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1951)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1621)
at android.app.Activity.startActivityForResult(Activity.java:4526)
at android.support.v4.app.BaseFragmentActivityApi16.startActivityForResult(BaseFragmentActivityApi16.java:54)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:68)
at android.app.Activity.startActivityForResult(Activity.java:4484)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:751)
at android.app.Activity.startActivity(Activity.java:4845)
at android.app.Activity.startActivity(Activity.java:4813)
at com.junmo.yiyaya.main.ui.activity.MainActivity$getVersion$1$onSuccess$2.onUpdateClick(MainActivity.kt:631)
at com.junmo.yiyaya.common.widget.VersionDialog$2.onClick(VersionDialog.java:64)
at android.view.View.performClick(View.java:6266)
at android.view.View$PerformClick.run(View.java:24730)
at android.os.Handler.handleCallback(Handler.java:793)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:173)
at android.app.ActivityThread.main(ActivityThread.java:6698)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782)
调用方法
Intent intent = new Intent();
intent.setData(Uri.parse(downloadurl));//Url 就是你要打开的网址
intent.setAction(Intent.ACTION_VIEW);//android.intent.action.VIEW
startActivity(intent); //启动浏览器
初看之下没发现有什么问题,后来发现问题出在url地址,后台返回的是"www.baidu.com",但是应该url地址需要添加“http://”,正确的地址应该是“http://www.baidu.com”,很简单错误,在此记录一下。