我正忙着写一个小程序来自动化我的 3.1 蜂窝标签和我的 2.3.5 姜饼手机上的 wifi。
在手机上一切正常,但是当我的应用程序试图在蜂窝上禁用我的 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);
}
}
让我说谢谢你的帮助。