WifiManager.setWifiEnabled在蜂窝上无法正常工作

时间:2011-10-26 06:00:23

标签: android android-3.0-honeycomb wifimanager

我正在忙着编写一个小程序来自动化我的3.1蜂窝标签和我的2.3.5姜饼手机上的wifi。

一切都在手机上运行良好,但是当我的应用尝试在蜂窝状态下禁用我的无线网络时,它就是fc的。

我的应用程序基本上设置并发出警报以触发自定义广播,然后由我的广播接收器捕获。我可以确认广播被解雇并且是咳嗽,但是当它运行时,看起来蜂窝会抛出运行时异常.setWiFiEnabled(false)。我检查了权限,看起来没错。 (它在gb中工作)。

以下是我的一些代码,可以尝试更好地解释。

清单

<uses-sdk android:minSdkVersion="7" />
<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_WIFI_MULTICAST_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <receiver android:name="WiFiOffDoerReceiver" android:enabled="true">
        <intent-filter>
            <action android:name="za.co.cjoliver.WIFIOFFDOER"/>
        </intent-filter>
    </receiver>

代码

import android.app.AlarmManager;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.wifi.WifiManager;
import android.util.Log;

public class WiFiOffDoerReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    Log.d("WiFi Beater3", "in WiFiOffDoerReceiver.onReceive");
    WifiManager myWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
    myWifiManager.setWifiEnabled(false);
}

}

让我说谢谢你的任何帮助。

1 个答案:

答案 0 :(得分:1)

我确定你究竟发出的是什么,但听起来它与你的ROM有关,如果它的根源与否等等。

另一种可能性是您正在使用的API。 HC是否需要与GB不同的版本?

我认为这不是你的代码,所以如果你无法弄明白,请尝试提供有关标签和手机之间差异的信息(除了显而易见的)。

只是预感,所以我很抱歉,如果它远离基地。

祝你好运!