2011-01-27 20 views
0

作りましたアンドロイドアプリ。私はそれを私の携帯電話にインストールしました。私は私の携帯電話のボタンを押すと、それはアプリから出てくる。しかし、それはバックグラウンドで実行されています。ですから、私はどのようにアクティビティを完全に終了できますか?私はコードonkeydownも書いています。それはバックグラウンドで実行されています。完全に完成しました

答えて

0

Activity.finish()を呼び出して、アクティビティを完全に終了することができます。

シェイク・アマン氏の言葉通り、Androidが実際にあなたのライフサイクルを管理したいので、これは通常行うべきことではありません。

+0

hi rogerkk.iはそれを行いましたが、 。 –

0

私はバックグラウンドで動作し続けます。 Androidはあなたのアクティビティをいつ終了するかを決定します。

ところで、どうやってそれが稼働していることを確認していますか?

finish(); 

これは、活動がクローズされます:あなたはこれを追加する必要がありますあなたのonKeyDown()ハンドラで

+0

私のアプリはトーストでgpsのステータスを表示します。GPSを有効にすると、GPSがトーストで有効になっていることがわかります。戻るボタンを押すと、GPSが無効になります。 GPSはトーストでは使用できません。これは私の問題です。 –

+0

おそらくあなたのデバイスはそうだと言いますが、アプリはそうではないからです!ちょうど野生の推測。あなたはどのデバイスを持っていますか? –

+0

私のデバイスはそれを言っていません。私のアプリはbcozが状態を表示するためのコードを書いたと言い、私のデバイスはSamsung G3です。 –

0

1

アクティビティのonStop()メソッドをオーバーライドし、その中からfinish()メソッドを呼び出す必要があります。 onStop()メソッドの最初にsuper.onStop()に電話することを忘れないでください。 私が知っている限り、それはバックグラウンドで実行されていない、アンドロイドは活動の状態を保存し、戻ってくると、それは元の状態であなたの活動を復元します。この

+0

試してみてください! onStopでLocationManager.removeUpdates()を試してください –

+1

また、http://developer.android.com/reference/android/app/Activity.html#ProcessLifecycleを読んで、気にしない理由を説明します。 注意:完成したアプリケーションは、「ホーム」ボタンを押したままになる「プロセスリスト」に表示されます。 – thoredge

-1

コール:

android.os.Process.killProcess(android.os.Process.myPid()); 

それは奇妙だが、唯一のこの呼び出しは、あなたのアプリケーションを強制終了することを保証します。特定のAndroidライフサイクリングのため、finish()も他のメソッドもアプリケーションを強制終了しません。

関連する問題