linux耳机插拔检测,Android应用开发之耳机插拔处理两种方式
本文將帶你了解Android應用開發[RK3288][Android6.0] 耳機插拔處理兩種方式,希望本文對大家學Android有所幫助。
[RK3288][Android6.0] ? 耳機插拔處理兩種方式。
Platform: Rockchip
OS: ? Android 6.0
Kernel: 3.10.92
系統對耳機插拔處理的方式有兩種,一種是UEvent直接上報,另一種是通過Input模塊來處理。
對應配置
frameworks\base\core\res\res\values\Config.xml
false
注釋說明得很清楚了,true表示使用input模塊處理,false表示使用uevent框架。
實現:
WiredAccessoryManager.java
讀取:
mUseDevInputEventForAudioJack ? =
context.getResources().getBoolean(R.bool.config_useDevInputEventForAudioJack);
判斷:
private void ? onSystemReady() ? {
if (mUseDevInputEventForAudioJack) ? {
int switchValues = 0;
if (mInputManager.getSwitchState(-1, InputDevice.SOURCE_ANY, SW_HEADPHONE_INSERT) == ? 1) {
switchValues |= SW_HEADPHONE_INSERT_BIT;
}
if (mInputManager.getSwitchState(-1, InputDevice.SOURCE_ANY, SW_MICROPHONE_INSERT) == ? 1) {
switchValues |= ? SW_MICROPHONE_INSERT_BIT;
}
if (mInputManager.getSwitchState(-1, InputDevice.SOURCE_ANY, SW_LINEOUT_INSERT) == ? 1) {
switchValues |= ? SW_LINEOUT_INSERT_BIT;
}
notifyWiredAccessoryChanged(0, switchValues,
SW_HEADPHONE_INSERT_BIT | ? SW_MICROPHONE_INSERT_BIT | ? SW_LINEOUT_INSERT_BIT);
}
}
private ? List ? makeObservedUEventList() {
// Monitor ? h2w
if (!mUseDevInputEventForAudioJack) ? {
uei = new UEventInfo(NAME_H2W, BIT_HEADSET, BIT_HEADSET_NO_MIC, ? BIT_LINEOUT);
if (uei.checkSwitchExists()) {
retVal.add(uei);
} else {
Slog.w(TAG, "This kernel does not have wired ? headset support");
}
}
}
本文由職坐標整理并發布,希望對同學們有所幫助。了解更多詳情請關注職坐標移動開發之Android頻道!
總結
以上是生活随笔為你收集整理的linux耳机插拔检测,Android应用开发之耳机插拔处理两种方式的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: python运维常用模块-运维常用pyt
- 下一篇: 64测试cpu稳定性_SuperPI-圆
