java.lang.SecurityException: ConnectivityService: ни у пользователя 10134, ни у текущего процесса нет android.permission.ACCESS_NETWORK_STATE

#android

#Android

Вопрос:

Я получил сообщение об этом исключении от 1 пользователя, хотя у меня есть разрешение в манифесте

 <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="19" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  

Комментарии:

1. Я удивлен, увидев, что даже один из ответов не связан с вашим случаем (потому что у вас правильные разрешения). Я получил тот же сбой (на данный момент 4 сбоя) для устройств Android 7 и 8 и имею правильные разрешения internet и access_network_state.

Ответ №1:

У меня тоже была эта проблема… при сборке на основе более раннего API я просто получал unhandledException выдачу, которую я заметил, переступая через getAllNetworkInfo() или getActiveNetworkInfo() . Однако в logcat фактически ничего не было показано. При сборке с использованием новейшего API (22) я получил вышеупомянутое SecurityException .

Для меня решением оказалось то, что я написал

 <uses-permission android:name="ANDROID.PERMISSION.INTERNET" />
<uses-permission android:name="ANDROID.PERMISSION.ACCESS_NETWORK_STATE" />
  

когда вместо этого мне понадобилось

 <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  

Итак, любому разработчику, столкнувшемуся с этой проблемой и ломающему голову, пожалуйста, обратите внимание, что эти имена разрешений чувствительны к регистру!

Комментарии:

1. разрешение, которое я упомянул в манифесте, указано только в небольшом регистре.

Ответ №2:

Я решил переместить uses-permission чуть ниже тега manifest

Ответ №3:

Ваши разрешения верны, проверьте условие Null для объекта NetwrokInfo. Это может быть уловкой, которая вызывает сбой.(для тех, кто может столкнуться с этой проблемой)

Ответ №4:

Дайте это разрешение

 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  

вместо

 <uses-permission android:name="android.Manifest.permission.ACCESS_NETWORK_STATE" />