我正在忙着编写一个小程序来自动化我的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);
}
}
让我说谢谢你的任何帮助。
答案 0 :(得分:1)
我确定你究竟发出的是什么,但听起来它与你的ROM有关,如果它的根源与否等等。
另一种可能性是您正在使用的API。 HC是否需要与GB不同的版本?
我认为这不是你的代码,所以如果你无法弄明白,请尝试提供有关标签和手机之间差异的信息(除了显而易见的)。
只是预感,所以我很抱歉,如果它远离基地。
祝你好运!