Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法接收Bluetooth A2DP.ACTION\u PLAYING\u STATE\u已更改广播_Java_Android_Bluetooth_Android Source_A2dp - Fatal编程技术网

Java 无法接收Bluetooth A2DP.ACTION\u PLAYING\u STATE\u已更改广播

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文

背景:

开发应用程序制作android手机A2DP接收机

BlueDroid堆栈支持A2DP接收器,但默认情况下已禁用。 . Android手机被视为免提设备,可连接

问题:

我听不见声音。

尝试:

类负责将android作为
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()));