2012-02-21 65 views
8

我有簡單的代碼,想讀取網絡連接的狀態。我已經添加許可權的AndroidManifest.xml:Android ConnectivityManager沒有看到權限ACCESS_NETWORK_STATE

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

我的代碼試圖訪問網絡狀態:

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

而引發的錯誤:

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

我我一直試圖找到任何錯誤,但一切似乎拼寫正確。好像新版本的AndroidManifest沒有部署到設備上。我試着在Eclipse中清理項目,從手機中卸載應用程序,但沒有任何工作,我再次得到相同的溝通。我做錯了什麼?

+0

只是胡亂猜測,也許標籤放置不正確,嘗試把它的應用程序標記之前。 – Maurice 2012-02-21 10:22:06

+1

另一個瘋狂的猜測是:'' - 這個錯字只在這裏或代碼中嗎? – 2012-02-21 10:27:26

回答

20

我認爲這是

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

,而不是

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

是的,當然是這樣,我在查看權限字符串,我認爲有AndroidManifest.xml的任何驗證,但顯然我錯了。 – 2012-02-21 10:38:18

+0

我很困惑:這是否解決了您的問題?在我的搜索中,android中沒有'user-permission'。 – VinceStyling 2015-12-11 03:12:00