我在应用程序清单中声明了权限ACCESS_NETWORK_STATE
,如下所示。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Android 2.x上的一切都很好。但是在Android ICS上,它失败了以下log cat。
java.lang.SecurityException: ConnectivityService: Neither user 10093
nor current process has android.permission.ACCESS_NETWORK_STATE. at
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
android.net.ConnectivityManager.getActiveNetworkInfo(ConnectivityManager.java:455)
at com.tapfortap.AdView.getNetwork(AdView.java:146) at
com.tapfortap.AdView.loadAdsWithAppId(AdView.java:133) at
com.tapfortap.AdView.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) at
java.lang.reflect.Method.invoke(Method.java:511) at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576) at
dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:30)
这应该是Android ICS框架的错误。我刚刚通过再次添加此权限解决了这个问题:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
难以置信!
答案 1 :(得分:10)
我相信这是Eclipse的一个问题;它无法刷新清单以加载权限。
我遇到了与原始海报相同的问题,并通过第二次添加权限解决了这个问题 - 但后来我能够在不影响行为的情况下删除权限。这让我怀疑Eclipse在我触摸文件之前没有正确加载权限。
答案 2 :(得分:10)
只需添加以下权限,它就可以正常使用,我之前遇到过这个问题并与我一起解决
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET" />
答案 3 :(得分:2)
清理然后Build项目为我解决了这个问题。
答案 4 :(得分:2)
呃 - 哦,如果你默认添加,它将是:
<uses-permission android:name="ANDROID.PERMISSION.ACCESS_NETWORK_STATE"/>
如果您通过以下方式重新添加权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
工作正常。 难以置信的 !我花了2天
答案 5 :(得分:2)
你错过了互联网权限。如果这个许可它会纠正你的问题
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
答案 6 :(得分:1)
清洁项目。检查清单文件。某些包名称更改或放错位置的数据可能会导致此错误。
清洁项目将有效。
答案 7 :(得分:0)
只需剪切<uses-permission android:name="android.permission.INTERNET" />
并粘贴以上所有权限即可。它会正常工作......
答案 8 :(得分:0)
在您的代码中,您可能会在拨打电话之前检查互联网可用性,以便您的应用在运行时不会崩溃。为此,您必须访问需要权限的“网络状态”:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
当互联网可用时,您的设备使用需要权限的“ INTERNET ”与服务器通信:
<uses-permission android:name="android.permission.INTERNET" />
答案 9 :(得分:0)
就我而言,清理项目和重建项目均无效,我花了数小时来弄清楚如何消除此皮棉错误。
我还担心使用最后一个选项使缓存无效并重新启动,因为将来如果发生任何错误,我可能会回滚到文件的任何本地历史记录。
所以最后,我选择了以下选项。
猜猜是什么!它解决了我的问题。因此,如果你们中的任何一个仍在努力摆脱这个错误,您可能想尝试我的解决方案。让我知道它是否有效。