Android getApplicationEnabledSetting(pkgName)获取NullPointException错误
当我在Intellij IDE(Android getApplicationEnabledSetting(pkgName)获取NullPointException错误,android,android-package-managers,Android,Android Package Managers,当我在Intellij IDE(Android Studio)中使用这些方法时,我得到了以下信息: 方法调用mContext.getPackageManager().getApplicationEnabledSetting(pkgName)可能会产生java.lang.NullPointerExceptionless。。。(Ctrl+F1) 此检查报告指定检查范围内始终为真或假的条件,并根据代码的数据流分析指出可能引发RuntimeException的位置。该检查还报告了可撤销/不可撤销的合同违
Android Studio
)中使用这些方法时,我得到了以下信息:
方法调用mContext.getPackageManager().getApplicationEnabledSetting(pkgName)
可能会产生java.lang.NullPointerException
less。。。(Ctrl+F1
)
此检查报告指定检查范围内始终为真或假的条件,并根据代码的数据流分析指出可能引发RuntimeException的位置。该检查还报告了可撤销/不可撤销的合同违规行为。可以配置支持契约的注释(默认情况下,将使用Annotations.jar中的@Nullable/@NotNull注释)
但只有IllegalArgumentException在
问题是:我将在什么条件下获得NULLPOINTEXCEPTION?
我得到了一个简单的测试示例应用程序,只需在create()上使用这个方法
发生了不可原谅的NullPointException。packageName是消息应用程序,不是原始的
谷歌的应用程序,修改。
感谢
mContext
可能null
,因此mContext.getPackageManager()
可能会抛出一个NPE。空值指的是mContext.getPackageManager()不,我确定是getApplicationEnabledSetting(String packagename)PackageManager pm=context.getPackageManager(); int temp=pm.getApplicationEnabledSetting(pkgName)//收到这里的消息时,pkgname也确定不是null pm可能是null,所以pm.get…将抛出null指针异常。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int testint= this.getPackageManager().getApplicationEnabledSetting("com.android.mms");//NullPointException
}