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)
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!.
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.
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" />
Nettoyer puis construire le projet a résolu le problème pour moi.
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"/>
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
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.
Il suffit de couper le <uses-permission Android:name="Android.permission.INTERNET" />
et de coller toutes les autorisations ci-dessus. Cela fonctionnera bien ...
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" />