Android ICS上的ACCESS_NETWORK_STATE权限

我在Application清单中声明了权限ACCESS_NETWORK_STATE,如下所示。

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

在Android 2.x上一切都很好。 但是在Android ICS上,它在下面的log cat下失败了。

java.lang.SecurityException:ConnectivityService:用户10093和当前进程都没有android.permission.ACCESS_NETWORK_STATE。 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在com.tapfortap.AdView.getNetwork(AdView.java:146)上的com.tapfortap.AdView.loadAdsWithAppId(AdView.java:133)上的com.tapfortap.AdView上的android.net.ConnectivityManager.getActiveNetworkInfo(ConnectivityManager.java:455) .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 )在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:809)在com.android.internal.os.ZygoteInit java.lang.reflect.Method.invoke(Method.java:511)。主要(ZygoteInit.java:576)在dalvik.system.NativeStart.ma 在(本地方法)

Solutions Collecting From Web of "Android ICS上的ACCESS_NETWORK_STATE权限"

这应该是Android ICS框架的一个bug。 我刚刚通过再次添加此权限来解决此问题:

 <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"/> 

难以置信的!。

我相信这是Eclipse的一个问题; 它无法刷新清单来加载权限。

我遇到了与原始海报相同的问题,并通过第二次添加权限来解决问题 – 但是之后我能够删除权限而不会影响行为。 这让我怀疑,Eclipse没有正确加载权限,直到我触摸文件。

只需添加下面的权限,它会正常工作,我有这个问题之前,并与我解决

 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <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"/> 

它工作正常。 难以置信的 ! 这花了我2天

清洁项目。 检查清单文件。 某些软件包名称更改或放错位置的数据可能会导致此错误。

清洁项目将工作。

你错过了互联网许可。join这个permisssion它会纠正你的问题

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

只要切断<uses-permission android:name="android.permission.INTERNET" />并粘贴上面所有的权限。 它会正常工作…

在你的代码中,在进行调用之前,会有一些地方会检查Internet可用性,以便在运行时你的应用程序不会崩溃。 为此,您必须访问需要权限的“ networking状态 ”:

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

当互联网可用时,您的设备使用“ INTERNET ”与服务器进行通信,这需要获得许可:

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