来自Activity的IllegalArgumentException#startActivity(Intent)

时间:2016-02-29 12:43:13

标签: android android-intent

如果找不到运行给定Intent的Activity,则指定Android#startActivity(Intent)抛出android.content.ActivityNotFoundException

因此我有像

这样的代码
try {
    // Try to start activity provided by external app:
    startActivity(intent);
} catch (ActivityNotFoundException e) {
    // [...] Inform user about external app needed
    // for this functionality to work.
}

捕获ActivityNotFoundException以处理未安装外部应用程序的情况。

然而,从Crashes& Google Play开发者控制台的ANR部分我开始崩溃为IllegalArgumentException: Unknown component com.example.package/com.example.package.Activity。代码调用startActivity()是否也准备好处理该异常?这是一个框架错误(或文档错误)吗?

2 个答案:

答案 0 :(得分:0)

当您未在清单文件中声明此异常时,通常会出现此异常。所以,试试吧 应用程序标记内的某处执行此操作

 <activity
            android:name="Your_Activity_Name"
            android:theme="Whatever your theme is"
          </activity>

如果有任何其他问题,请告诉我。

答案 1 :(得分:0)

您可以使用此代码进行检查。这是处理异常

的更好方法
List<ResolveInfo> list = getPackageManager().queryIntentActivities(intent, 
            PackageManager.MATCH_DEFAULT_ONLY);

if (list.size() > 0)
{
 // start your activity
}