public class HeadsetBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_HEADSET_PLUG)) {
int state = intent.getIntExtra("state", -1);
if (state == 1) {
// Headset is plugged in
} else if (state == 0) {
// Headset is unplugged
}
}
}
}
要注册ACTION_HEADSET_PLUG,
HeadsetBroadcastReceiver receiver = new HeadsetBroadcastReceiver();
IntentFilter filter = new IntentFilter(Intent.ACTION_HEADSET_PLUG);
registerReceiver(receiver, filter);
1条答案
按热度按时间nqwrtyyt1#
这是Android中的系统级操作,应用程序可以检测已经与设备配对的蓝牙设备,而无需请求任何特殊权限。当蓝牙耳机与Android设备配对时,它会将自己注册到Android蓝牙堆栈,其将关于设备的信息暴露给设备上的所有应用。然后,应用可以使用Android SDK提供的蓝牙API来查询此信息并检测耳机的存在。
您可以使用下面的代码在连接蓝牙耳机而不请求
android.permission.BLUETOOTH
权限时获得通知,要注册
ACTION_HEADSET_PLUG
,android.permission.BLUETOOTH
权限。