以下是启用/禁用的代码,但不会禁用设备设置。
我想知道如何禁用Android设备的蓝牙(相机/ Wifi)设施,并且只能通过我的自定义应用启用它。用户应该只能通过我们的应用程序在蓝牙上。
BluetoothAdapter bluetoothAdapter = BluetoothAdapter
.getDefaultAdapter();
boolean isEnabled = bluetoothAdapter.isEnabled();
if (isEnabled) {
Toast.makeText(getApplicationContext(), "Enabled",
Toast.LENGTH_SHORT).show();
bluetoothAdapter.disable();
} else {
Toast.makeText(getApplicationContext(), "Not Enabled",
Toast.LENGTH_SHORT).show();
bluetoothAdapter.enable();
}
答案 0 :(得分:0)
您需要实现侦听BluetoothAdapter.ACTION_STATE_CHANGED
(link)的BroadcastReceiver。它应该将其禁用并向用户显示有关锁定的一些信息。
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {
final int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE,
BluetoothAdapter.ERROR);
switch (state) {
case BluetoothAdapter.STATE_OFF:
//do nothing
break;
case BluetoothAdapter.STATE_TURNING_OFF:
//do nothing
break;
case BluetoothAdapter.STATE_ON:
//disable it
break;
case BluetoothAdapter.STATE_TURNING_ON:
//do nothing
break;
}
}
}
};
这有点hacky,但这是你能做到的最好 - 就像我之前写的那样,没有办法在Settings中禁用这个开关,因为Settings是单独的应用程序,你无法修改它,就像其他应用程序无法修改你的申请。