質問

私はHOMEボタンを押しを処理するために私の活動を必要とします プログラムで受信機が、イベントが発射されていません。私は出来ます、 ただし、正常に登録して、私は場合は、このインテントフィルタをキャプチャ manifest.xml活動のセクションでそれを宣言する。ここでは、コードのためです 働いていない受信機ます:

BroadcastReceiver br;

br = new BroadcastReceiver() {
       @Override
       public void onReceive(Context context, Intent intent) {
               return;  // I put a breakpoint here to see if this gets called
       }
};


IntentFilter intf = new IntentFilter();
intf.addAction(Intent.ACTION_MAIN);
intf.addCategory(Intent.CATEGORY_HOME);
intf.addCategory(Intent.CATEGORY_DEFAULT);

registerReceiver(br, intf);

これはホームボタンのクリックをキャプチャしていない理由を誰もが知っていますか?

ちなみに、私は別のアクティビティを作成することによってこの問題を回避働いてみました マニフェストでのインテントフィルタを指定します。私は、アクティビティを設定しました マニフェストで=「false」を使用可能になっていますが、私はどのように見つけ出すことができませんでした 実行時にその活動を可能にします。ボトムライン、私はしたいです 自分のアプリケーションのためのホームボタンインテントフィルタを登録する場合にのみ、私の アプリケーションが実行されている、と私はそれを行う方法を見つけ出すことはできません。

役に立ちましたか?

解決

あなたは交換用のホーム画面を実装しようとしている場合は、

は、あなたがマニフェストにあるように、あなたのIntentフィルタを必要とする - SDKでホームのサンプルアプリケーションを参照してください。

。 あなたはHOMEキーを阻止しようとしている場合は、

、しないでください。

他のヒント

それは、ユーザーが常に彼の電話のコントロールを維持することを確認することがあり、あなたはホームボタンをオーバーライドする必要がなければならない場合があってはなりません。正確に何をしようとしていますか?あなたがあなたの活動は、もはや表示されたときを検出しないようにしたい場合は、onStop()をオーバーライドする必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top