Android在启动另一个应用时获得空指针

时间:2018-01-20 01:58:23

标签: android nullpointerexception

所以我正在尝试从我的应用中启动另一个应用,但在某些设备上遇到此错误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);
                }
    }
}

0 个答案:

没有答案