2013-06-27 2 views
0

При использовании этих методов в IntelliJ IDE (Android Studio), я получил эти данные: вызов метода mContext.getPackageManager().getApplicationEnabledSetting(pkgName) может производить java.lang.NullPointerException меньше ... (Ctrl+F1) Эта проверка сообщает эти условия в указанный область проверки, которая всегда истинна или ложна, а также указывает, где может быть выбрано исключение RuntimeException, на основе анализа потока данных кода. Эта инспекция также сообщает о нарушениях Nullable/NotNull. Аннотации для поддержки контракта может быть настроены (по умолчанию @ Nullable/@ NotNull аннотации из annotations.jar будет использоваться)getApplicationEnabledSetting (PKGNAME) получил NullPointException ошибку

Но только IllegalArgumentException describled в dev api

Вопрос заключается в том: В каком состоянии, что я получу NULLPOINTEXCEPTION?

я получил простой тест Пример приложения, просто используйте Thes метод на создание()

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

Unfortune NullPointException happended. ПакетName - приложение для сообщений, а не оригинал приложение Google, измененное. Thanks

+0

null ссылается на mContext.getPackageManager() –

+0

Нет, я уверен, что getApplicationEnabledSetting (String packagename) –

+0

PackageManager pm = context.getPackageManager(); int temp = pm.getApplicationEnabledSetting (pkgName); // сообщение получено здесь, pkgname также не является нулевым. –

ответ

0

mContext возможно null и таким образом mContext.getPackageManager() может выбросить NPE.

+0

Неправильно, я отредактировал мой вопрос –