ユーザーがホームボタンを押したときにアプリを終了する方法を知りたいです。
私の知る限り、ホームボタンは実行中のアプリをバックグラウンドに移動し、ランチャープロセスを前面に出します。
私は finish() を使用できることを知っていますが、ユーザーがホームキーを押したときにどの関数が呼び出されるかわからないため、どこで呼び出す必要があるかわかりません。
ありがとう。
ユーザーがホームボタンを押したときにアプリを終了する方法を知りたいです。
私の知る限り、ホームボタンは実行中のアプリをバックグラウンドに移動し、ランチャープロセスを前面に出します。
私は finish() を使用できることを知っていますが、ユーザーがホームキーを押したときにどの関数が呼び出されるかわからないため、どこで呼び出す必要があるかわかりません。
ありがとう。
やりたいことによっては、オーバーライドonUserLeaveHint
が最善の策かもしれません。
http://developer.android.com/reference/android/app/Activity.html#onUserLeaveHint ()
これにより、ユーザーがアプリを切り替えることを選択したため (ホームボタンを押すか、通知を選択するなど)、アプリが終了していることをアプリに知らせます。ユーザーがそのアクションを開始しなかったため、電話の着信 (または同様のもの) によってアプリがバックグラウンドに移行している場合、このヒント関数は呼び出されません。
私の場合、
アプリケーションには多くのアクティビティがあるため、「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;
}
これがお役に立てば幸いです