嗨,我有以下代码,读取网络/ Wifi状态:
public String getMacAddress() { WifiManager wm = (WifiManager) context .getSystemService(Context.WIFI_SERVICE); return wm.getConnectionInfo().getMacAddress(); }
这引发了
Caused by: java.lang.SecurityException: WifiService: Neither user 10032 nor current process has android.permission.ACCESS_WIFI_STATE
和
public boolean is3G() { ConnectivityManager connectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); return !(connectivityManager.getNetworkInfo( ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED || connectivityManager .getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED); }
这引发了
Caused by: java.lang.SecurityException: ConnectivityService: Neither user 10032 nor current process has android.permission.ACCESS_NETWORK_STATE.
在有人告诉我权限之前,那就是我的Manifest(相关部分):
<manifest> <!-- usual tags for activitys... etc.. --> <uses-permission android:name="android.permission.WRITE_OWNER_DATA" /> <uses-permission android:name="android.permission.READ_OWNER_DATA" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" /> <user-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <user-permission android:name="android.permission.ACCESS_WIFI_STATE" /> </manifest>
解决方法
你错误地使用了最新的2个权限:
useR-permission而不是useS-permission
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。