如何处理ActivityNotFoundException?

xuy*_*yao 6 android android-activity

在我的应用程序中,我需要使用startActivity来查看文件的内容,或者使用默认应用程序来打开某个文件,但有时android系统可能无法安装所需的应用程序.

我的问题是如何处理这个例外.我要吐司,而不是FC ..

任何建议?谢谢

use*_*305 13

只需在清单文件中添加该活动即可.

喜欢,

<activity android:name=".ActivityName"
                  android:label="@string/app_name">
        </activity>
Run Code Online (Sandbox Code Playgroud)

编辑:

现在抓住ActivityNOtFoundException你的代码,

try {

  // Your startActivity code wich throws exception  
} catch (ActivityNotFoundException activityNotFound) {

    // Now, You can catch the exception here and do what you want
}
Run Code Online (Sandbox Code Playgroud)

注意:捕获此ActivityNotFound异常时要小心,但是无法将清单文件修改为运行时,这意味着一旦遇到异常,并且如果要在运行时添加此活动标记,则不能.


Ehs*_*ari 11

你可以使用resolveActivity方法

    if (intent.resolveActivity(getPackageManager()) != null) {
        startActivity(intent);
    }else {
        Toast.makeText(this,"No suitable app found!",Toast.LENGTH_SHORT).show();
    }
Run Code Online (Sandbox Code Playgroud)