我希望我的應用在用戶長按(按住)耳機按鈕時執行一些特定操作。我使用BroadcastReceiver
代替MEDIA_BUTTON
,並且在長時間不運行Google應用的聲音操作的手機中工作良好。但在自動運行Google的手機中,我的應用程序剛剛被忽略。如何現在停用Google並檢測耳機按鈕長按。這裏是我的BroadcastReceiver
類中的onReceive
方法。谷歌現在不會讓我的應用檢測到耳機按鈕長按
public void onReceive(Context context, Intent intent) {
String intentAction = intent.getAction();
if (!Intent.ACTION_MEDIA_BUTTON.equals(intentAction)) {
return;
}
KeyEvent event = (KeyEvent) intent
.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
if (event == null) {
return;
}
int action = event.getAction();
switch (event.getKeyCode()) {
case KeyEvent.KEYCODE_HEADSETHOOK:
/**
* for long click
*/
if (action == KeyEvent.ACTION_DOWN) {
if (!isDown) {
isDown = true;
handler.postDelayed(l, LONG_CLICK_DELAY);
}
}
if (action == KeyEvent.ACTION_UP) {
/**
* for long click
*/
if (isDown)
isDown = false;
}
break;
}
abortBroadcast();
}
感謝您的回答。我想在後臺處理耳機按鈕,所以首先不能解決我的問題。而且我已經嘗試了第二種解決方案,但它不起作用。 – Mehrdad