getActiveNetworkInfo()上的Android崩溃

时间:2014-04-27 22:01:32

标签: java android permissions

错误消息显示

  

用户10093和当前进程都没有android.permission.ACCESS_NETWORK_STATE

我已将“android.permission.ACCESS_NETWORK_STATE”添加到清单中:

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

为什么会发生这种情况,我该如何解决?我在Nexus One上仿效 - 2.3.7。 - API10

代码切换:

ConnectivityManager cm =
        (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
    System.out.print("Debb: there is internet\n");
}

整个错误日志:

  

04-27 22:26:13.781 1522-1522 / com.example.nekitamo E / AndroidRuntime:   致命异议:主要       java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.nekitamo / com.example.nekitamo.MainActivity}:   java.lang.SecurityException:ConnectivityService:用户10024   当前进程也没有android.permission.ACCESS_NETWORK_STATE。               在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)               在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)               在android.app.ActivityThread.access $ 1500(ActivityThread.java:117)               在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:931)               在android.os.Handler.dispatchMessage(Handler.java:99)               在android.os.Looper.loop(Looper.java:130)               在android.app.ActivityThread.main(ActivityThread.java:3683)               at java.lang.reflect.Method.invokeNative(Native Method)               在java.lang.reflect.Method.invoke(Method.java:507)               在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839)               在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)               at dalvik.system.NativeStart.main(Native Method)        引起:java.lang.SecurityException:ConnectivityService:用户10024和当前进程都没有   android.permission.ACCESS_NETWORK_STATE。               在android.os.Parcel.readException(Parcel.java:1322)               在android.os.Parcel.readException(Parcel.java:1276)               在android.net.IConnectivityManager $ Stub $ Proxy.getActiveNetworkInfo(IConnectivityManager.java:345)               在android.net.ConnectivityManager.getActiveNetworkInfo(ConnectivityManager.java:251)               在com.example.nekitamo.MainActivity.onCreate(MainActivity.java:38)               在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)               在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)   在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)   在android.app.ActivityThread.access $ 1500(ActivityThread.java:117)   在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:931)   在android.os.Handler.dispatchMessage(Handler.java:99)   在android.os.Looper.loop(Looper.java:130)   在android.app.ActivityThread.main(ActivityThread.java:3683)   at java.lang.reflect.Method.invokeNative(Native Method)   在java.lang.reflect.Method.invoke(Method.java:507)   在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839)   在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)   在dalvik.system.NativeStart.main(本地方法)

4 个答案:

答案 0 :(得分:3)

Neither user 10024 nor current process has android.permission.ACCESS_NETWORK_STATE

似乎你的Manifest文件缺乏

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

答案 1 :(得分:3)

这是因为我在UI线程上运行它。来自api级别10,不受支持。

答案 2 :(得分:0)

这应该是Android ICS框架的错误。 尝试添加此权限:

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

之后,编译,执行清理并最终重建项目。

答案 3 :(得分:0)

步骤1: 放

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

进入清单文件 并且,

步骤2:

将鼠标光标置于cm和get之间。(cm.getActiveNetworkInfo();) 然后键入getActionNetworkInfo();再次。然后自动弹出它。然后单击Tab按钮。然后运行您的项目。 我遇到了同样的问题,并为我解决了这个问题。