Java 无法接收Bluetooth A2DP.ACTION\u PLAYING\u STATE\u已更改广播
背景: 开发应用程序制作android手机A2DP接收机 BlueDroid堆栈支持A2DP接收器,但默认情况下已禁用。 . Android手机被视为免提设备,可连接 问题: 我听不见声音。 尝试: 类负责将android作为Java 无法接收Bluetooth A2DP.ACTION\u PLAYING\u STATE\u已更改广播,java,android,bluetooth,android-source,a2dp,Java,Android,Bluetooth,Android Source,A2dp,背景: 开发应用程序制作android手机A2DP接收机 BlueDroid堆栈支持A2DP接收器,但默认情况下已禁用。 . Android手机被视为免提设备,可连接 问题: 我听不见声音。 尝试: 类负责将android作为A2dpSink。其中一个状态是,它有一个方法,当音频开始/停止流时调用该方法。() broadcastAudioState发送带有操作的广播BluetoothA2dpSink。操作\u播放\u状态\u更改()并写入日志)) 注册广播接收机 -通过manifest.xml文
A2dpSink
。其中一个状态是,它有一个方法,当音频开始/停止流时调用该方法。()
broadcastAudioState
发送带有操作的广播BluetoothA2dpSink。操作\u播放\u状态\u更改
()并写入日志))
注册广播接收机
-通过manifest.xml
文件尝试
-具有权限的动态
从不调用onReceive方法
此外:
- 动态注册时,
返回registerReceiver
null
- 在安卓显示器的
窗口中,我看到了日志,这意味着广播被发送了
在文件中声明为android.bluetooth.a2dp sink.profile.action.PLAYING\u STATE\u CHANGED
谢谢很抱歉问这个问题,但是您是否确保您的应用程序在清单中具有蓝牙权限?这是一个系统导出的广播,因此不应该有任何进一步的问题。@Olia是的,应用程序具有
蓝牙
权限,但没有luckI,很抱歉问这个问题,但是您是否确保您的应用程序在清单中具有蓝牙权限?这是一个系统导出的广播,所以不应该有任何进一步的问题。@Olaia是的,应用程序有BLUETOOTH
权限,但运气不好
<receiver android:name=".PlayingStateChangeBroadcastReceiver">
<intent-filter>
<action android:name="android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED" />
</intent-filter>
</receiver>
Intent intent =
registerReceiver(mReceiver, new IntentFilter(BluetoothA2dp.ACTION_PLAYING_STATE_CHANGED));
Intent intent =
registerReceiver(
mReceiver,
new IntentFilter(BluetoothA2dp.ACTION_PLAYING_STATE_CHANGED),
"android.permission.BLUETOOTH",
new Handler(Looper.getMainLooper()));