帮我写个通过android.media.STREAM_DEVICES_CHANGED_ACTION广播判断是否有有线耳机插入的代码
时间: 2023-08-11 18:03:36 浏览: 65
好的,以下是代码示例:
```java
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(AudioManager.STREAM_DEVICES_CHANGED_ACTION)) {
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
int newDevice = audioManager.getDevices(AudioManager.GET_DEVICES_ALL).length;
if (newDevice > 0) {
// 有耳机插入
Toast.makeText(context, "有耳机插入", Toast.LENGTH_SHORT).show();
} else {
// 没有耳机插入
Toast.makeText(context, "没有耳机插入", Toast.LENGTH_SHORT).show();
}
}
}
}
```
在你的代码中注册该广播接收器:
```java
MyBroadcastReceiver myBroadcastReceiver = new MyBroadcastReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(AudioManager.STREAM_DEVICES_CHANGED_ACTION);
registerReceiver(myBroadcastReceiver, intentFilter);
```
记得在合适的时候取消注册:
```java
unregisterReceiver(myBroadcastReceiver);
```