私の Android アプリでは、ルート アクティビティの onStop() 関数からサービスで開始するリターン通知を作成しました。正常に動作しますが、戻るボタンではなくホームボタンでのみ動作するようにしたい[アプリを終了するダイアログオプションが表示され、迷惑な通知サービスが実行されたままになります]
2 に答える
onBackPressed()
が呼び出されたときにフラグを設定すると、チェックインしonStop()
てアプリを終了するために戻るボタンが使用されたかどうかを確認できます。それ以外の場合はホーム ボタンです。フラグを外すことを忘れないでくださいonStart()
。
アプリで返品サービスを開始し、onBackPressed() またはメニューを介して離れるときにオフにすることにしました。このようにして、アプリを終了してもリターン通知とサービスは残り、システムまたはユーザーがアプリケーションを閉じると消えます。
サービスと通知を閉じる方法は次のとおりです
activity.stopService(new Intent("gideon.guide.services.ReturnService")); NotificationManager notificationManager = (NotificationManager) activity.getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.cancel(1);
アプリを終了する方法は次のとおりです。アンドロイドはアプリの直接の終了をサポートしていません。完全に終了していません。
activity.moveTaskToBack(true);