确保中兴 T815 Android phone 的 Action HEADSET_PLUG 交付的方法
Way to ensure delivery of Action HEADSET_PLUG for ZTE T815 Android phone
我已经注册了一个 BroadcastReceiver 来接收 ACTION_HEADSET_PLUG,它适用于大多数设备,即无论何时插入或拔下耳机都会调用它。但在其他设备上,例如中兴 T815,当耳机为 plugged/unplugged.
时,Intent 永远不会是 sent/received
接收者注册代码供参考:
private final BroadcastReceiver headsetPlugReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "Received intent=" + intent);
if (intent.getAction().equalsIgnoreCase(Intent.ACTION_HEADSET_PLUG)) {
// do stuff
}
}
};
public void onCreate(Bundle savedState) {
super.onCeate(savedState);
// ...
registerReceiver(headsetPlugReceiver, new IntentFilter(Intent.ACTION_HEADSET_PLUG));
}
更多信息:
Intent 被调度,但仅在耳机上触发 HEADSET_HOOK 命令后。
并且当 Intent 被分派时
final int microphone = intent.getIntExtra("microphone", 0);
始终returns 0(即没有麦克风)。
所以
- 是否有一些 config/code 可以强制传送这个
意图?
- 如何获得 Intent 以正确报告是否
麦克风存在与否?
事实证明,中兴 T815 的音频插座有一个 OMTP TRRS 配置,而不是像其他所有现代 Android 设备一样 CTIA/AHJ。
见http://en.wikipedia.org/wiki/Phone_connector_%28audio%29
令人难过的事态,尤其是在尝试跨产品使用音频馈送输入时。
我已经注册了一个 BroadcastReceiver 来接收 ACTION_HEADSET_PLUG,它适用于大多数设备,即无论何时插入或拔下耳机都会调用它。但在其他设备上,例如中兴 T815,当耳机为 plugged/unplugged.
时,Intent 永远不会是 sent/received接收者注册代码供参考:
private final BroadcastReceiver headsetPlugReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "Received intent=" + intent);
if (intent.getAction().equalsIgnoreCase(Intent.ACTION_HEADSET_PLUG)) {
// do stuff
}
}
};
public void onCreate(Bundle savedState) {
super.onCeate(savedState);
// ...
registerReceiver(headsetPlugReceiver, new IntentFilter(Intent.ACTION_HEADSET_PLUG));
}
更多信息: Intent 被调度,但仅在耳机上触发 HEADSET_HOOK 命令后。
并且当 Intent 被分派时
final int microphone = intent.getIntExtra("microphone", 0);
始终returns 0(即没有麦克风)。
所以
- 是否有一些 config/code 可以强制传送这个 意图?
- 如何获得 Intent 以正确报告是否 麦克风存在与否?
事实证明,中兴 T815 的音频插座有一个 OMTP TRRS 配置,而不是像其他所有现代 Android 设备一样 CTIA/AHJ。
见http://en.wikipedia.org/wiki/Phone_connector_%28audio%29
令人难过的事态,尤其是在尝试跨产品使用音频馈送输入时。