web-dev-qa-db-fra.com

Autorisation ACCESS_NETWORK_STATE sur Android ICS

J'ai déclaré l'autorisation ACCESS_NETWORK_STATE dans le manifeste de l'application comme indiqué ci-dessous.

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

Tout est bien sur Android 2.x. Mais sur Android ICS, il a échoué avec le chat en dessous du journal.

 Java.lang.SecurityException: ConnectivityService: Neither user 10093
 nor current process has Android.permission.ACCESS_NETWORK_STATE. at
 Android.os.Parcel.readException(Parcel.Java:1327) at
 Android.os.Parcel.readException(Parcel.Java:1281) at
 Android.net.IConnectivityManager$Stub$Proxy.getActiveNetworkInfo(IConnectivityManager.Java:663)
 at
 Android.net.ConnectivityManager.getActiveNetworkInfo(ConnectivityManager.Java:455)
 at com.tapfortap.AdView.getNetwork(AdView.Java:146) at
 com.tapfortap.AdView.loadAdsWithAppId(AdView.Java:133) at
 com.tapfortap.AdView.access$100(AdView.Java:47) at
 com.tapfortap.AdView$1$1.run(AdView.Java:88) at
 Android.os.Handler.handleCallback(Handler.Java:605) at
 Android.os.Handler.dispatchMessage(Handler.Java:92) at
 Android.os.Looper.loop(Looper.Java:137) at
 Android.app.ActivityThread.main(ActivityThread.Java:4503) at
 Java.lang.reflect.Method.invokeNative(Native Method) at
 Java.lang.reflect.Method.invoke(Method.Java:511) at
 com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:809)
 at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:576) at
 dalvik.system.NativeStart.main(Native Method)
20
Nguyen Minh Binh

Cela devrait être un bogue du framework Android ICS. Je viens de résoudre ceci en ajoutant cette permission à nouveau:

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

Incroyable!.

29
Nguyen Minh Binh

Je pense que c'est un problème avec Eclipse; il ne parvient pas à actualiser le manifeste pour charger l'autorisation.

J'ai eu le même problème que l'affiche originale et je l'ai résolu en ajoutant l'autorisation une seconde fois - mais j'ai ensuite pu supprimer l'autorisation sans affecter le comportement. Cela me laisse penser qu'Eclipse n'a pas chargé les autorisations correctement jusqu'à ce que je touche le fichier.

10
user2259744

Il suffit d’ajouter l’autorisation ci-dessous et cela fonctionnera bien, j’ai eu ce problème avant et résolu avec moi

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

Nettoyer puis construire le projet a résolu le problème pour moi.

2
ivan_onys

vous manquez la permission Internet.ajoutez cette permission, cela corrigera votre problème

<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE"/>
2
S HemaNandhini

Uh-oh, si vous ajoutez par défaut, ce sera:

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

si vous rajoutez la permission par: 

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

Cela fonctionne très bien…. Incroyable! Cela me coûte 2 jours

2
Nguyen Gia Tu

Projet propre. Vérifiez le fichier manifeste. Certaines modifications de nom de package ou données égarées peuvent être à l'origine de cette erreur.

Nettoyer le projet fonctionnera.

1
Raghavendra

Il suffit de couper le <uses-permission Android:name="Android.permission.INTERNET" /> et de coller toutes les autorisations ci-dessus. Cela fonctionnera bien ...

0
Vinoj John Hosan

Dans votre code, il y aurait des endroits où vous vérifieriez la disponibilité Internet avant de passer vos appels afin que votre application ne plante pas au moment de l'exécution. Pour cela, vous devez accéder au ' NETWORK STATE ' qui nécessite l'autorisation: 

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

Et quand Internet est disponible, votre appareil communique avec le serveur en utilisant le 'INTERNET' qui nécessite l'autorisation: 

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

0
devDeejay