getApplicationEnabledSetting(pkgName)出现NullPointException错误

时间:2013-06-27 05:15:18

标签: android android-package-managers

当我在Intellij IDE(Android Studio)中使用这些方法时,我得到了以下信息: 方法调用mContext.getPackageManager().getApplicationEnabledSetting(pkgName)可能会减少java.lang.NullPointerException ...(Ctrl+F1) 此检查报告指定检查范围中始终为true或false的条件,并根据代码的数据流分析指出可能抛出RuntimeException的位置。此检查还报告Nullable / NotNull合同违规。可以配置支持合同的注释(默认情况下,@ Nullable / @NotNull将使用annotations.jar中的注释)

但只有dev api

中描述的IllegalArgumentException

问题是:我将获得NULLPOINTEXCEPTION的条件是什么?

我有一个简单的测试示例应用,只需在create()

上使用thes方法
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         int testint= this.getPackageManager().getApplicationEnabledSetting("com.android.mms");//NullPointException
    }

发生了不幸的NullPointException。 packageName是Message App,而不是原始的 谷歌的应用程序,修改。 感谢

1 个答案:

答案 0 :(得分:0)

mContext可能null因此mContext.getPackageManager()可能会投放NPE。