1

スタックオーバーフローの回答から、ホームボタンをオーバーライドできることがわかりましたか? しかし、ビデオの再生中にすべてのボタンをロックできる「Mxplayer」という Android マーケットのアプリケーションを見つけました。彼らはこれをどのように行っていますか?Androidでホームボタンをオーバーライドできますか?

4

2 に答える 2

12

このソリューションは 2.3 まで機能します。

アクティビティで以下のメソッドをオーバーライドし、

@Override
public void onAttachedToWindow() {
    super.onAttachedToWindow();
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);           
}

そして、キーイベントを次のように処理します。

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

   if(keyCode == KeyEvent.KEYCODE_HOME)
    {
     Log.i("Home Button","Clicked");
    }
   if(keyCode==KeyEvent.KEYCODE_BACK)
   {

        finish();
   }
return false;

};

于 2012-05-30T04:40:34.550 に答える
-1

はい、できます。次のコードを使用します。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_HOME)) {
        //do nothing
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
于 2012-05-30T04:38:20.907 に答える