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报错的主要内容,如果未能解决你的问题,请参考以下文章
java [Intent] Intent片段以启动Activity,Service或发送广播。 #android_snippet #android