0

ユーザーがホームボタンを押してホーム画面を起動しようとしたときに、次のコードを試してアクティビティを再開しました。

@Override
public void onSaveInstanceState(Bundle state){
    try{
        Intent i = new Intent(this, LockerAppActivity.class);
        startActivity(i);
    }catch(Exception ex){
        Toast.makeText(this, ex.getMessage(), Toast.LENGTH_LONG);
    }
}

発生する例外はなく、コードが起動します。しかし、活動は始まりません。私は何を間違っているのですか?

4

1 に答える 1

4

ステップ1:実装を削除しますonSaveInstanceState()

ステップ2:「ユーザーがホームボタンを押してホーム画面を起動しようとしたときに[自分の]アクティビティを再開」しようとしないでください。これは不要です。

ステップ3:この「再起動」テクニックを試す原因となっていると思われる問題を修正します。

たとえば、クラス名を考えると、LockerAppActivity簡単に破られる「ロック画面」の1つを作成しようとしていると思います。誰もがそれらを乗り越えることができると考えて、なぜあなたが悩んでいるのかは私を超えています。とにかく、ユーザーがHOMEを押したときにアプリケーションが確実に実行されるようにする適切な方法は、ホーム画面にすることです。

于 2012-04-17T12:01:07.887 に答える