2

Android では、ホーム ボタンの押下をキャッチできないことはわかっています。ただし、独自のホーム画面置換アプリを作成しており、アニメーションを許可するためにボタンが押されたタイミングを知りたい.

したがって、私のアプリには、ほとんどの「アクティビティ」をキャンバス描画として行うため、アプリの視覚的な美学を完全に制御できるアクティビティが 1 つだけあります。問題は、ユーザーがアプリ内の別のページに移動してホームを押しても、アプリは技術的には既に同じアクティビティにあるため、何も起こらないことです。

ボタンが押されたタイミングを知りたいので、アプリをアニメーション化/ナビゲートしてメイン画面に戻すことができます。また、別の実際の活動を行うことでこれを達成できることはわかっていますが、それは私がやろうとしていることにはうまくいきません。

4

3 に答える 3

2

<category android:name="android.intent.category.HOME"/>アプリの Android.xml でアクティビティのインテント フィルターに追加する必要があります

Android SDK サンプルの「ホーム」アプリをご覧ください。これらの手順を使用してダウンロードできます。

于 2012-11-16T19:03:09.683 に答える
2

//メソッドのオーバーライド

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {     

        if(keyCode == KeyEvent.KEYCODE_HOME)
        {
           //The Code Want to Perform. 
        }
    });
于 2016-04-21T07:39:30.697 に答える
0

onPause()常に呼び出されるため、ホームボタンが押されたことを検出できます。ホームボタンをオーバーライドすることは許可されていませんが、次のように動作するはずです

@Override
protected void onPause() 
{
    super.onPause();
    //code here
}

もちろん、これを使用する際の問題は、ユーザーがアプリを終了していなくても呼び出されることです (つまり、インテントを通じて別のアプリケーションに送信された場合)。

それはあなたが到達しようとしている最も近いものでonHomeButtonPressedListenerあり、これを行う方法は実際にはありません

于 2012-11-16T19:03:03.780 に答える