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 在(本地方法)

  • 在Android上使用libusb而不生根
  • 需要某些Android权限的Android API列表
  • 为什么我的应用程序要求电话号码的权限?
  • 奥利奥(API 26) - drawOverlay +绘制状态栏
  • 检测到屏幕覆盖 - 如何在屏幕覆盖应用程序中处理此问题
  • 通过networking请求位置更新的问题
  • Android - 在应用程序项目中拥有提供者权限
  • 转到我的应用程序的权限屏幕
  • 这应该是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" />