Android ConnectivityManager 没有看到权限 ACCESS_NETWORK_STATE

问题描述 投票:0回答:3

我有简单的代码想要读取网络连接的状态。我已经向 AndroidManifest.xml 添加了权限:

<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 中清理项目,从手机中卸载应用程序,但没有任何效果,我再次得到相同的通信。我做错了什么?

android eclipse android-networking eclipse-adt
3个回答
23
投票

我想是的

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

而不是

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

0
投票

删除与 NetworkInfo 有关的各种导入,例如 Java.net 包或任何其他..重新导入


0
投票

如果您有多模块设置,请确保将权限添加到您的网络监控类所在模块的清单中。

© www.soinside.com 2019 - 2024. All rights reserved.