デバイスの Wi-Fi と Bluetooth の状態を管理するアプリケーションがあります。そのために、状態を含むメッセージを受信し、この状態を強制するかどうかを決定します。次に、状態を適用し、両方の値を保存します。
例: wifi を無効にして強制するメッセージを送信します。次に、wifiをオフにして状態を保存し、これが強制されることを確認します。また、Wifi状態の変化をリッスンするBroadcastReceiverがあり、受信した場合は、最初にwifiが有効になっているかどうか、それで問題ないかどうかを確認します。そうでない場合は、wifi を即座に無効にします。それは魅力のように機能します: public class WifiStateReceiver extends BroadcastReceiver {
public void onReceive(final Context context, final Intent intent) {
// get new wifi state
final int wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_ENABLING);
final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
// if enabling, check if thats okay
if (wifiState == WifiManager.WIFI_STATE_ENABLING && WIFI_FORCE_DISABLE) {
wifiManager.setWifiEnabled(false);
} else
// if disabling, check if thats okay
if (wifiState == WifiManager.WIFI_STATE_DISABLING && WIFI_FORCE_ENABLE) {
wifiManager.setWifiEnabled(true);
}
}
しかし、Bluetoothでまったく同じことを試しても、元に戻りません...
public void onReceive(final Context context, final Intent intent) {
// get new wifi state
final int bluetoothState = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.STATE_ON);
final BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
// if enabling, check if thats okay
if (bluetoothState == BluetoothAdapter.STATE_TURNING_ON && BT_FORCE_DISABLE) {
mBluetoothAdapter.disable();
} else
// if disabling, check if thats okay
if (bluetoothState == BluetoothAdapter.STATE_TURNING_OFF && BT_FORCE_ENABLE) {
mBluetoothAdapter.enable();
}
}
Bluetoothを永久に無効にする方法はありますか?