如果找不到运行给定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()
是否也准备好处理该异常?这是一个框架错误(或文档错误)吗?
答案 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
}