当我在 Intellij IDE( Android Studio
) 中使用这些方法时,我得到了这些信息:方法调用mContext.getPackageManager().getApplicationEnabledSetting(pkgName)
可能产生java.lang.NullPointerException
更少...( Ctrl+F1
) 此检查报告指定检查范围内始终为真或假的那些条件,并指出根据代码的数据流分析,可能会抛出 RuntimeException。此检查还报告 Nullable/NotNull 合同违规。可以配置支持合约的注解(默认使用来自 annotations.jar 的 @Nullable/@NotNull 注解)
但只有 IllegalArgumentException 在dev api中描述
问题是:什么条件下我会得到 NULLPOINTEXCEPTION?
我有一个简单的测试示例应用程序,只需在 create() 上使用这些方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int testint= this.getPackageManager().getApplicationEnabledSetting("com.android.mms");//NullPointException
}
不幸的 NullPointException 发生了。包名是Message App,不是google原来的app,修改过。谢谢