2012-02-21 10 views
8

Mam prosty kod, który chce odczytać stan połączenia sieciowego. Dodałem uprawnienie do AndroidManifest.xml:Android ConnectivityManager nie widzi uprawnień ACCESS_NETWORK_STATE

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

mój kod, który próbuje uzyskać dostęp do sieci stan:

ConnectivityManager conmgr = (ConnectivityManager) ctx.getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo ninfo = conmgr.getActiveNetworkInfo(); 

i błąd, który jest wyrzucany:

E/AndroidRuntime(7650): java.lang.SecurityException: ConnectivityService: Neither user 10080 nor current process has android.permission.ACCESS_NETWORK_STATE. 

I już dawno próbował znaleźć jakiś błąd, ale wszystko wydaje się być poprawnie napisane. Wygląda na to, że nowa wersja AndroidaManifest nie jest wdrożona na urządzeniu. Próbowałem wyczyścić projekt w Eclipse, odinstalować aplikację z telefonu, ale nic nie działa, znowu otrzymuję tę samą komunikację. Co robię źle?

+0

Tylko dzikie przypuszczenie, może tag nie jest umieszczony prawidłowo, spróbuj umieścić go przed tagiem aplikacji. – Maurice

+1

Kolejne dzikie domysły: '' - ta literówka jest tylko tutaj lub w kodzie? –

Odpowiedz

20

myślę, że jest

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

zamiast

<user-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
+0

Tak, oczywiście, że to było to, patrzyłem na łańcuch uprawnień, myślałem, że jest jakaś walidacja AndroidManifest.xml, ale oczywiście myliłem się. –

+0

Jestem mylący: czy to rozwiązało twój problem? w moich poszukiwaniach nie ma "zgody użytkownika" na androida. – VinceStyling

Powiązane problemy