无法一起使用ACCESS_WIFI_STATE和CHANGE_WIFI_STATE pernissions

时间:2014-07-18 05:41:12

标签: android permissions

在我的Android应用中,我需要检查一部分是否启用了WiFi,还要更改另一部分的WiFi状态。

我可以使用ACCESS_WIFI_STATE权限来检查状态,也可以使用CHANGE_WIFI_STATE来更改WiFi状态,但不能同时更改两个权限。如果我在Manifest中包含这两个权限,则会出现重复的属性错误。这是为什么?

我已经包含了Manifest,以防万一。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.examlple.wifiautotoggle"
android:versionCode="1"
android:versionName="1.0" >
    <uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="19" />
    <uses-permission
    android:name="android.permission.ACCESS_WIFI_STATE"
    android:name="android.permission.CHANGE_WIFI_STATE" />
    <application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
        <activity
        android:label="@string/app_name"
        android:name=".MainActivity" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <service
        android:name="com.example.wifiautotoggle.WifiToggleService" />
    </application>

</manifest>

1 个答案:

答案 0 :(得分:2)

每个权限元素需要一个权限。

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

您得到的错误是因为您在一个用户权限元素中复制了android:name属性。

来自http://developer.android.com/guide/topics/manifest/manifest-intro.html

  

多个值

     

如果可以指定多个值,则几乎总是重复该元素,而不是在单个元素中列出多个值。例如,意图过滤器可以列出多个操作。