我正在尝试使用那里的包名称打开某些应用程序,为此我正在使用以下代码:
public void openAppHavingPackageName(String packageName, String appName) {
try {
Intent intent = getBaseContext().getPackageManager().getLaunchIntentForPackage(packageName);
startActivity(intent);
} catch (ActivityNotFoundException e) {
Log.e(TAG, e.getMessage());
}
}
当我尝试打开手机中安装的应用程序时,它工作正常,但是当我尝试打开手机中没有的应用程序时,应用程序崩溃并出现此错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.content.Intent.migrateExtraStreamToClipData()' on a null object reference
在线上
startActivity(intent);
如您所见,我在那里有一个try/catch
块,那么为什么异常没有被赶上,而是代码正在运行导致崩溃?