私のAndroidアプリは、ユーザーが停止できる唯一の方法は、電話の戻るキーを押すことです。そのキーがヒットすると、実際に onStop イベントが実行され、log コマンドがあり、super.onStop(); を実行します。
でもアプリは止まりません。これは、頻繁にオフになるタイマーがあり、デバッグ エントリを含む電子メールが送信されるためです。
(メールを送信するサーバーへの投稿を介してではなく、電話を介してメールを送信しません)。
「アプリを停止」した後も、1 日中メールを受信し続けます。確実にまだ実行されています。
電話(Galaxy S3)の「実行中」のアプリを調べると、リストに表示されていませんが、アプリのプロパティを見ると、「強制終了」が有効になっています。「強制終了」を押すと、アプリはメールの送信を停止します。
このアプリを停止するにはどうすればよいですか?
ありがとう、ゲイリー
これが私の編集です。. .
以下のタイマーは、REST サービスと通信する asynctask を呼び出す getRTlegsFromServer を実行します。DebugLog は、別の REST サービスを介してメールを送信します。これはすべて非常にうまく機能し、実際、非常にうまく機能しているため、停止することはできません。メールで「onStop イベント」を受け取り、その後、電話で強制停止するまで、1 日中、さらに DebugLog メッセージを受け取ります。
timer = new Timer();
timer.schedule(new TimerTask()
{
@Override
public void run()
{
TimerMethod();
}
}, 0, 10*1000);
private void TimerMethod()
{
//debugLog("TimerMethod is executing", false);
runOnUiThread(new Runnable()
{
@Override
public void run()
{
if (timeForAnother == true)
{
getRTlegsFromServer();
}
else
{
DebugLog.debugLog("NOT making server call because timeForAnother is false", false);
}
}
});
}
@Override
public void onStop()
{
DebugLog.debugLog("onStop event ", true);
//timer.cancel();
super.onStop();
}
timer.cancel() は、NullPointerException を取得するため、コメント アウトされています (停止しようとしています)。KillProcess ソリューションが悪い考えであることを他のスレッドで読みました。このアプリはサービスを使用しません。