Android 6.0.1 n'a pas pu activer le point d'accès wifi par programme

Lorsque j'ai essayé d'activer wifi tethering à partir du code suivant, il lance l'exception

Java.lang.reflect.InvocationTargetException à java.lang.reflect.Method.invoke (Native Method) à com …..

…. n'a pas obtenu cette autorisation: android.permission.WRITE_SETTINGS

Mais cela fonctionne bien dans les versions android 6.0 et suivantes. Et a également essayé de donner à android.permission.WRITE_SETTINGS aussi.

Existe-t-il une limitation dans l'accès à wifiAP dans Android 6.1?

Suivez J'ai attaché l'exemple de code que j'ai utilisé pour activer le point chaud.

WifiConfiguration netConfig = new WifiConfiguration(); netConfig.SSID = ssId; netConfig.preSharedKey = passkey; netConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED); netConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); try { boolean apstatus = (Boolean) method.invoke(wifiManager, netConfig, true); for (Method isWifiApEnabledmethod : wmMethods) { if (isWifiApEnabledmethod.getName().equals("isWifiApEnabled")) { while (!(Boolean) isWifiApEnabledmethod.invoke(wifiManager)) {} for (Method method1 : wmMethods) { if (method1.getName().equals("getWifiApState")) { int apstate; apstate = (Integer) method1.invoke(wifiManager); Log.i(TAG, "Apstate ::: " + apstate); } } } } if (apstatus) { Log.d(TAG, "Access Point created"); } else { Log.d(TAG, "Access Point creation failed"); } } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } 

4 Solutions collect form web for “Android 6.0.1 n'a pas pu activer le point d'accès wifi par programme”

Ce n'est pas la bonne manière. Mais cela a résolu le problème.

Modifié la version sdk cible à 21. Puis, le point chaud commence par programme, même dans Android 6.0.1. Pensez qu'il devrait y avoir une façon appropriée de le faire pour Android et versions ultérieures. Je pense que demander des autorisations d'exécution doit exécuter ce genre de processus. Cela parle de l'autorisation de l'application Android en cours d'exécution

Je pense que l'Android M ne supporte pas de créer un point chaud par programme. Vous pouvez prendre votre utilisateur Marshmallow dans la page de configuration pour créer un point fort par lui-même. Le code ci-dessous vous aidera à définir la page de réglage.

  startActivity( new Intent(Settings.ACTION_SETTINGS)); 

Définissez la SDK cible 21 et demandez l'autorisation write_settings dans votre activité. Ajoutez également l'autorisation android.permission.WRITE_SETTINGS en manifeste.

 if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.WRITE_SETTINGS)){ }else { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_SETTINGS}, 121); } 

Pour plus de détails, visitez http://developer.android.com/training/permissions/requesting.html

Je l'ai essayé tout et je n'ai pas pu démarrer le point chaud dans Android 6.0. Vous pouvez simplement vérifier si Api est> = 23, et si tel est le cas, passez l'utilisateur à la page de configuration pour créer un point d'accès par lui-même.

 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { final Intent intent = new Intent(Intent.ACTION_MAIN, null); intent.addCategory(Intent.CATEGORY_LAUNCHER); final ComponentName cn = new ComponentName( "com.android.settings", "com.android.settings.TetherSettings"); intent.setComponent(cn); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity( intent); }else{ createhotSpot(); } 
  • Régler wifi ssid avec un espace
  • Pourquoi mon accès depuis mon mobile vers mon réseau informatique ne fonctionne-t-il pas?
  • Comment l'application Android "SHAREit" fonctionne-t-elle techniquement?
  • Comment rester connecté via le réseau mobile après que WIFI est connecté sur Android?
  • Construction d'une configuration Wifi à partir d'un ScanResult ou: Interprétation de la chaîne 'Capacités' de ScanResult
  • Comment connecter automatiquement un WiFi avec SSID spécifié?
  • Est-il possible d'échanger des messages entre 2 périphériques Android via wifi?
  • Android, comment annuler la vérification de connectivité Internet lors de la connexion au réseau wifi?
  • coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.