【问题标题】:Security exception by accessing the wifi in android通过在android中访问wifi的安全异常
【发布时间】:2011-11-23 10:23:17
【问题描述】:

请看以下代码

    wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    if (wifi.isWifiEnabled() == false)
    {
        Toast.makeText(getApplicationContext(), "wifi is disabled..making it enabled", Toast.LENGTH_LONG).show();
        wifi.setWifiEnabled(true);
    }   

虽然我在清单文件中添加了权限

   <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.wifi"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8" />
<user-permission android:name="android.permission.ACCESS_WIFI_STATE" />

但它仍然给出以下错误

   11-23 15:18:24.399: E/AndroidRuntime(6800): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test.wifi/com.test.wifi.WifiDemoActivity}: java.lang.SecurityException: WifiService: Neither user 10082 nor current process has android.permission.ACCESS_WIFI_STATE.

请帮忙说明为什么会这样

【问题讨论】:

    标签: android wifi


    【解决方案1】:

    如您所知,要访问 wifi,您需要 android:name="android.permission.ACCESS_WIFI_STATE"。

    如果您要启用或禁用 wifi 连接,您还需要两个权限:ACCESS_WIFI_STATE 和 CHANGE_WIFI_STATE

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

    这应该为你做。

    【讨论】:

      【解决方案2】:

      添加以下行

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

      希望他们有所帮助!

      【讨论】:

        【解决方案3】:

        它应该是“使用权限”而不是“用户权限”。拼写错误

        【讨论】:

        • 清理项目,然后构建。
        • 您的清单必须看起来像这样developer.android.com/resources/samples/SipDemo/…
        • 11-23 15:36:02.830: E/AndroidRuntime(1677): java.lang.SecurityException: WifiService: 用户 10082 和当前进程都没有 android.permission.CHANGE_WIFI_STATE。
        • 您是在设备还是模拟器中尝试?它可以在设备中使用吗?
        猜你喜欢
        • 2018-04-05
        • 2011-08-14
        • 1970-01-01
        • 2019-01-29
        • 1970-01-01
        • 2012-02-25
        • 2020-01-24
        • 2011-07-26
        • 1970-01-01
        相关资源
        最近更新 更多