Intent跳转activity报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Intent跳转activity报错相关的知识,希望对你有一定的参考价值。

Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
               
                 
startActivityForResult(intent, PICK_CONTACT);

这个跳转为什么部分手机会报错呢??
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.PICK dat=content://com.android.contacts/contacts }
因为有些版本有些rom的android没有提供下载这个activity。或者系统里的那个应用出现问题
像这种使用ACTION隐式启动Activity的,最好在之前先判断是否有对应的Activity可以响应。
if (intent.resolveActivity(getPackageManager()) != null)
{
startActivityForResult(intent, PICK_CONTACT); }

甚至有些Intent会crash(其他帖子看到):startActivity(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS
这个问题有可能是直接写class名字,有可能不同版本名字不一样引起的问题
正确做法是,在跳转的时候不写死的Calss名,而是用的系统提供的Settings.ACTION_WIFI_SETTINGS,如果不同版本的Class名不一样,这里action对应的名字应该会变。
 

以上是关于Intent跳转activity报错的主要内容,如果未能解决你的问题,请参考以下文章

android点击跳转前清除任务栈中的所有activity

android点击跳转前清除任务栈中的所有activity

java [Intent] Intent片段以启动Activity,Service或发送广播。 #android_snippet #android

无法通过使用 Volley 库中的 Intent 从片段中移动下一个 Activity

跳转到某个Activity

基于Intent实现Activity与Activity之间的数据传递,实现二个Activity的跳转功能