就权限而言,为了检测蓝牙的状态变化,您需要将其添加到您的AndroidManifest.xml中。
示例接收器将如下所示,您将此代码添加到要处理广播的位置,例如:
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
public void onReceive (Context context, Intent intent) {
String action = intent.getAction();
if (BluetoothAdapter.ACTION_STATE_CHANGED.equals(action)) {
if(intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, -1)
== BluetoothAdapter.STATE_OFF)
// Bluetooth is disconnected, do handling here
}
}
};
要使用接收器,您需要注册。你可以做如下的工作。我在主要活动中注册接收者。
registerReceiver(this, new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED));
您也可以决定将其全部添加到您的AndroidManifest.xml中。这样,你可以为接收器制作一个特殊的类,并在那里处理它。无需注册接收者,只需将该类添加到AndroidManifest代码
android:name=".packagename.NameOfBroadcastReceiverClass"
android:enabled="true">