簡體   English   中英

Android TV 如何防止后台其他應用程序使用媒體按鈕

[英]Android TV How To Prevent Other Applications In The Background From Using Media Buttons

在我的 Android TV 上,如果我在后台啟動 Pandora 並播放音樂,然后啟動我的應用程序。 從我的應用程序中,如果我按下暫停或下一步,它會在我的應用程序上收到這些信息,但也會影響 Pandora。

如何防止后台應用程序接收這些輸入。 我嘗試獲得有效停止音樂的音頻焦點,但如果再次輸入按鈕,音樂將恢復。

有任何想法嗎?

這是我捕獲遠程輸入的代碼。

public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((event.getSource() & InputDevice.SOURCE_DPAD) == InputDevice.SOURCE_DPAD) {
            switch (keyCode) {
                case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD:
                    moveToNextImage(true);
                    break;
                case KeyEvent.KEYCODE_MEDIA_REWIND:
                    moveToPreviousImage(true);
                    break;
                case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
                    playPauseController();
                    break;
                default:
                    break;
            }
        }
        return super.onKeyDown(keyCode, event);

找到了! 為了防止其他應用程序在我的應用程序處於活動狀態時接收遠程輸入,請添加處理的布爾值。 另一個選項是獲得音頻焦點,但由於我沒有使用音頻,因此不需要。

public boolean onKeyDown(int keyCode, KeyEvent event) {
        boolean handled = false;
        if ((event.getSource() & InputDevice.SOURCE_DPAD) == InputDevice.SOURCE_DPAD) {
            switch (keyCode) {
                case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD:
                    moveToNextImage(true);
                    handled = true;
                    break;
                case KeyEvent.KEYCODE_MEDIA_REWIND:
                    moveToPreviousImage(true);
                    handled = true;
                    break;
                case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
                    playPauseController();
                    handled = true;
                    break;
                default:
                    break;
            }
        }
        return handled || super.onKeyDown(keyCode, event);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM