Создать точку доступа Wi-Fi в Android Marshmallow без вмешательства?

В Android M я использовал код в Как создать точку доступа Wi-Fi в Android Marshmallow? создать точку доступа, но она не работает.

Я получаю ошибку.:

java.lang.SecurityException: android.tutorial.hotspotcreation не было предоставлено ни одно из этих разрешений: android.permission.CHANGE_NETWORK_STATE, android.permission.WRITE_SETTINGS.

Если я использую этот код точки доступа.

Рекомендуемый способ - использовать намерение:

startActivity(new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK));

Есть ли способ создать точку доступа с помощью кода без вмешательства пользователя?


person buttercup    schedule 30.09.2016    source источник


Ответы (1)


Как ясно видно из вашего сообщения об ошибке, вам нужно будет добавить два разрешения в свой манифест (или запросить их в интерактивном режиме на 6.0+):

  • CHANGE_NETWORK_STATE
  • WRITE_SETTINGS
person Jonas Köritz    schedule 30.09.2016
comment
Привет, я добавил оба разрешения, но код все еще выдает ошибку. - person buttercup; 30.09.2016
comment
На какой версии Android вы работаете? Укажите новое сообщение об ошибке. - person Jonas Köritz; 30.09.2016
comment
Android 6.0.1 - точное сообщение об ошибке - java.lang.SecurityException: android.tutorial.hotspotcreation не было предоставлено ни одно из этих разрешений: android.permission.CHANGE_NETWORK_STATE, android.permission.WRITE_SETTINGS., даже с этим разрешением внутри AndroidManifest.xml. - person buttercup; 30.09.2016
comment
В Android 6.0 вы должны реализовать разрешения во время выполнения! - person Jonas Köritz; 30.09.2016
comment
только WRITE_SETTING для реализации, потому что это считается опасным - person Khalil M; 01.10.2016