2012-02-21 119 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