3

ユーザーがホームボタンを押したときにアプリを終了する方法を知りたいです。

私の知る限り、ホームボタンは実行中のアプリをバックグラウンドに移動し、ランチャープロセスを前面に出します。

私は finish() を使用できることを知っていますが、ユーザーがホームキーを押したときにどの関数が呼び出されるかわからないため、どこで呼び出す必要があるかわかりません。

ありがとう。

4

2 に答える 2

3

やりたいことによっては、オーバーライドonUserLeaveHintが最善の策かもしれません。

http://developer.android.com/reference/android/app/Activity.html#onUserLeaveHint ()

これにより、ユーザーがアプリを切り替えることを選択したため (ホームボタンを押すか、通知を選択するなど)、アプリが終了していることをアプリに知らせます。ユーザーがそのアクションを開始しなかったため、電話の着信 (または同様のもの) によってアプリがバックグラウンドに移行している場合、このヒント関数は呼び出されません。

于 2011-04-30T15:50:51.530 に答える
1

私の場合、

アプリケーションには多くのアクティビティがあるため、「onUserLeaveHint」、「onStop」または...

アクティビティの遷移をキャッチするだけです。

だから私はすべての活動の下にコードを置きます。最後に、ユーザーのホームボタンのアクションをキャッチします。

まず、シングルトンオブジェクトがあります

public class ActivityContext {
    public static Context context = null;
}

そしてあらゆる活動、

@Override
protected void onStop(){  //onStop runs after New one's onResume
    super.onStop();
    if(ActivityContext.context==context) { //user home button out
        AppStartEnd.sendAppEndData(context);
    }
}
@Override
protected void onResume(){  
    super.onResume();
    ActivityContext.context = YourActivity.this;
}

これがお役に立てば幸いです

于 2014-07-03T12:45:20.503 に答える