0

私はAndroidアプリの開発をほぼ終えました。GPS 位置情報と SMS レシーバー クラスを使用します。「HOME」(家)を押すと、まだ動いていることがわかります。ホームボタンが押されたときに GPS リスナーと SMS_RECEIVER を閉じたいと思います。

私はEclipseとWindowsを使用しています。

4

3 に答える 3

1

ホームボタンを使用して終了すると、アプリは実行されたままになります(私が理解しているホームは、「最小化」ボタンのようなものです)。戻ると完全に閉まります。ホーム ボタンの機能をオーバーライドして実際に終了するには、次のようにします。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    if (event.getAction() == KeyEvent.ACTION_DOWN) {
        switch (keyCode) {
        case KeyEvent.KEYCODE_HOME:
            finish();
            return true;
        }
    }

    return super.onKeyDown(keyCode, event);
}
于 2011-08-02T18:37:51.873 に答える
1

onStop イベントをリッスンし、リスナーをシャットダウンできます。

Activity.onStop ドキュメント

注: onPause または onDestroy の方が適切なオプションである可能性があります。アクティビティのライフサイクルを読んで、これを行うのに最適なポイントを選択してください。

于 2011-08-02T18:40:48.617 に答える
0

BroadCast レシーバーを使用する場合 (おそらく別のクラスを使用し、AndroidManifest.xml でレシーバーを宣言します)、Activity のクラス メンバーにすることを検討してください。Activity クラス内で onResume と onPause をオーバーライドし、そこでレシーバーを登録および登録解除します。

于 2011-08-02T19:49:48.687 に答える