无法接收BluetoothA2dp.ACTION_PLAYING_STATE_CHANGED广播

时间:2017-01-31 09:22:29

标签: java android bluetooth android-source a2dp

背景:

开发应用程序以制作Android手机A2DP接收器。

BlueDroid堆栈支持A2DP接收器,但默认情况下已禁用。   Modified source code to enable A2DP。 Android手机被视为HeadsFree设备,可以连接。

问题:

我听不到声音。

尝试:

A2dpSinkStateMachine课程负责将机器人视为A2dpSink。其中一个状态是Connected,它有方法broadcastAudioState,在音频开始/停止流式传输时调用。 (line 579

broadcastAudioState通过操作BluetoothA2dpSink.ACTION_PLAYING_STATE_CHANGEDline 696)发送广播并写入日志A2DP Playing state....))

注册广播接收器

- 通过manifest.xml文件

进行了尝试
<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()));
永远不会调用

onReceive方法。

另外:

任何想法,如何解决这个问题?

感谢

0 个答案:

没有答案