所以我正在尝试从我的应用中启动另一个应用,但在某些设备上遇到此错误Fatal Exception: java.lang.NullPointerException
Attempt to invoke virtual method 'int android.content.Intent.getFlags()' on a null object reference
并且在有人标记此问题之前,我已经查看了https://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it
,但我我不明白这是如何只在某些设备上带来NullPointerException
的,即使在那里检查为null。还有其他方法我应该这样做以避免它吗?试试&赶上是避免这种情况的更好方法吗?
以下是启动其他活动的代码:
public void startApp(final Context c, final String appName)
{
final Intent b = c.getPackageManager().getLaunchIntentForPackage(appName);
if (appName.equals("myapp"))
{
Intent intent = new Intent();
intent.setClass(c, Dashboard.class);
intent.setFlags(FLAG_ACTIVITY_NEW_TASK);
c.startActivity(intent);
}else {
if (b != null) {
b.setFlags(FLAG_ACTIVITY_NEW_TASK);
c.startActivity(b);
}
}
}