Android Q - подключить Wi-Fi без одобрения - PullRequest
2 голосов
/ 01 ноября 2019

Я разрабатываю приложение, которое автоматически подключается к Wi-Fi. Ниже вы найдете мой код, который хорошо работает!

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    boutonConnecter.setOnClickListener {
        val wifiNetworkSpecifier = WifiNetworkSpecifier.Builder()
            .setSsid("MYSSID")
            .setWpa2Passphrase("MyPassphrase")
            .build()

        val networkRequest = NetworkRequest.Builder()
            .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
            .setNetworkSpecifier(wifiNetworkSpecifier)
            .build()

        val connectivityManager =
            applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager

        connectivityManager.requestNetwork(
            networkRequest,
            ConnectivityManager.NetworkCallback()
        )


    }
}

Но похоже, что с Android Q (android 10) перед подключением приложение требует одобрения пользователя! Открывается всплывающее окно, и пользователю необходимо выбрать сеть (утверждение).

Можно ли «обойти» утверждение пользователя? Я хотел бы подключиться напрямую к Wi-Fi, не спрашивая согласия пользователя ...

Возможно ли это?

1 Ответ

4 голосов
/ 01 ноября 2019

Нет, это невозможно с Android 10. Это изменение было куплено на Android 10 для конфиденциальности пользователя. Смотри официальную документацию здесь: https://developer.android.com/about/versions/10/privacy/changes#enable-disable-wifi

...