我似乎无法找到一种方法来了解Android是否插入了耳机.我发现了各种解决方案,但它们似乎总是返回假.唯一似乎正常工作的是a BroadcastReceiver,但这不是我需要的:
我只需要这样的东西
if(headphones plugged in) {
}
Run Code Online (Sandbox Code Playgroud)
有这样的功能吗?它需要一些特殊权限吗?
如果我的应用程序正在运行,我知道如何检测耳机插件事件.您必须为ACTION_HEADSET_PLUG注册广播接收器.但是你无法使用Manifest声明为广播接收器捕获此动作.因此,捕获耳机插件事件的唯一选择是后台服务.但它耗尽电池等等.
我检查了一些音乐播放器并发现他们没有任何额外服务就捕获了该事件.他们是怎么做到的?有任何想法吗?
我只是想检查耳机是否已插入 Android 设备。
然后,当我按下按钮时,它应该检查耳机是否已插入。如果已插入,那么我会播放音频,否则我会显示一个提示以插入耳机,即我不会执行任何操作,直到耳机已插入。