gpt4 book ai didi

android - 我似乎无法理解 ACTION_SCO_AUDIO_STATE_CHANGED 的 Intent ,为什么?

转载 作者:太空狗 更新时间:2023-10-29 15:23:45 25 4
gpt4 key购买 nike

我目前正在尝试捕捉 ACTION_SCO_AUDIO_STATE_CHANGED 的状态,具体如下: http://developer.android.com/reference/android/media/AudioManager.html#ACTION_SCO_AUDIO_STATE_CHANGED

我已经在我的 list 上注册了 Intent ,但是当连接到蓝牙设备时我没有得到任何东西。我需要什么特别的许可吗?

list :

    <receiver android:name="com.app.receiver.BluetoothReceiver">
<intent-filter>
<action android:name="android.media.SCO_AUDIO_STATE_CHANGED" />
<action android:name="android.bluetooth.device.action.ACL_CONNECTED" />
<action android:name="android.bluetooth.device.action.ACL_DISCONNECTED" />
<action android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" />
<action android:name="android.bluetooth.device.action.BOND_STATE_CHANGED" />
</intent-filter>
</receiver>

我无法接到来自 BOND_STATE_CHANGED、SCO_AUDIO_STATE_CHANGED 或 ACL_DISCONNECT_REQUESTED 的任何调用。我收到的其他 Intent 很好。

谢谢,

-乔纳

最佳答案

这可能是无法使用 list 接收的广播 Intent 。您必须设置一个 BroadcastReceiver 对象并注册它以接收广播。接收器必须处于 Activity 状态才能接收 Intent 。

一些广播 Intent 是这样工作的,而另一些则允许通过 list 捕获。

另一种可能性是接收方需要您未请求的许可。

这是 SDK 中有关 Context.registerReceiver() 的重要说明。注意:不能从 BroadcastReceiver 组件调用此方法;也就是说,来自应用程序 list 中声明的​​ BroadcastReceiver。但是,可以从另一个在运行时使用 registerReceiver(BroadcastReceiver, IntentFilter) 注册的 BroadcastReceiver 调用此方法,因为此类已注册 BroadcastReceiver 的生命周期与注册它的对象相关联

关于android - 我似乎无法理解 ACTION_SCO_AUDIO_STATE_CHANGED 的 Intent ,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4454288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com