2012-10-08 14 views
19

Ho dichiarato l'autorizzazione ACCESS_NETWORK_STATE nel manifest dell'applicazione come di seguito.autorizzazione ACCESS_NETWORK_STATE su Android ICS

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

Tutto è buono su Android 2.x. Ma su Android ICS, ha fallito con il log di cat.

java.lang.SecurityException: ConnectivityService: Né utente 10093 né processo corrente ha android.permission.ACCESS_NETWORK_STATE. a android.os.Parcel.readException (Parcel.java:1327) a android.os.Parcel.readException (Parcel.java:1281) a android.net.IConnectivityManager $ Stub $ Proxy.getActiveNetworkInfo (IConnectivityManager.java: 663) a android.net.ConnectivityManager.getActiveNetworkInfo (ConnectivityManager.java:455) a com.tapfortap.AdView.getNetwork (AdView.java:146) a com.tapfortap.AdView.loadAdsWithAppId (AdView.java:133) a com.tapfortap.AdView.access $ 100 (AdView.java:47) a com.tapfortap.AdView $ 1 $ 1.run (AdView.java:88) a android.os.Handler.handleCallback (Handler.java: 605) a android.os.Handler.dispatchMessage (Handler.java:92) a e roid.os.Looper.loop (Looper.java:137) a android.app.ActivityThread.main (ActivityThread.java:4503) a java.lang.reflect.Method.invokeNative (Metodo nativo) a java.lang .reflect.Method.invoke (Method.java:511) a com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:809) a com.android.internal.os.ZygoteInit.main (ZygoteInit .java: 576) a dalvik.system.NativeStart.main (metodo natale)

+0

in quale luogo nel vostro manifesto ha fatto si colloca il -Tag? – Thommy

+0

prova a pulire e ricostruisci il progetto e disinstalla la build precedente dal dispositivo e prova nuovamente –

risposta

28

Questo dovrebbe un bug del quadro ICS Android. Ho appena risolto questo da aggiungere di nuovo questa autorizzazione:

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

Incredibile !.

+32

Questa non può essere una risposta valida. Probabilmente il tuo aggiornamento al manifest ha appena attivato una build pulita o qualcosa del genere. – Makibo

+0

Non so perché, ma sono i passaggi per risolvere il mio problema. Penso che questo sia un bug di Android SDK e il teem di Android SDK dovrebbe risolverlo. –

+1

cosa succede quando rimuovi l'ultima riga dal tuo snippet? se si rompe di nuovo, sarebbe una forte indicazione di un bug. in caso contrario, la spiegazione "clean build" di @Makibo sarà molto più probabile. PS: dimenticalo, ho appena visto che la risposta è di 2 anni ... – katzenhut

9

Credo che questo sia un problema con Eclipse; non riesce ad aggiornare il manifest per caricare il permesso.

Ho avuto lo stesso problema del poster originale e l'ho risolto aggiungendo l'autorizzazione una seconda volta, ma poi sono stato in grado di rimuovere il permesso senza influire sul comportamento. Questo mi fa sospettare che Eclipse non abbia caricato correttamente le autorizzazioni finché non ho toccato il file.

2

Pulire e quindi il progetto di costruzione ha risolto il problema per me.

0

Basta tagliare il <uses-permission android:name="android.permission.INTERNET" /> e incollare tutte le autorizzazioni di cui sopra. Funzionerà benissimo ...

1

Clean Project. Controlla il file manifest. Alcune modifiche al nome del pacchetto o dati fuori posto possono causare questo errore.

Pulire il progetto funzionerà.

+0

se usi Android Studio, questo problema non arriverà. +1 –

9

Basta aggiungere l'autorizzazione qui sotto e tutto funzionera 'bene, ho avuto questo problema prima e risolto con me

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

Uh-oh, se u l'aggiunta di default, sarà:

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

se u aggiungere nuovamente il permesso di:

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

funziona benissimo. Incredibile! Mi costa 2 giorni

1

vi manca Internet permission.add questo permisssion sarà correggere il problema

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

Nel codice, non ci sarebbe luoghi in cui si sarebbe il check-in Internet disponibilità prima di effettuare la chiama in modo che la tua app non si blocchi in fase di runtime. Per questo, è necessario accedere al 'RETE STATO' che richiede il permesso:

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

E quando Internet è disponibile, il dispositivo comunica con il server utilizzando il 'INTERNET' che richiede il permesso:

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