6

私は Android 用の子供向けアプリを持っていますが、このアプリには基本的にナビゲーションがないため (幼い子供向けです)、このアプリケーションにはいくつかの固有の考慮事項があります。終了/再起動ボタンを追加して、アプリの UI (iPhone で成功している) を壊したくありません。

私が本当に必要としているのはかなり単純なことです。アクティビティ/アプリを開始するたびに、クリーンで新しいものを開始したいのです。初期ロードであろうと何であろうと - 基本的に onResume が呼び出されるたびに、アプリの完全に新しいインスタンスが必要です。

最初は、ユーザーが離れたときにアプリを終了/終了/終了できると思っていました。しかし、起動時にクラッシュしないようにする方法が見つかりませんでした。また、そのアイデアに関するすべてのスレッド/スタック オーバーフローの投稿は、指を振って、Android でアプリを終了してはいけないと言っている人々でいっぱいです。

アプリ onExit を終了できない場合、onResume が呼び出されるたびにアクティビティを再開するためにできることはありますか? (または、それは無限ループになりますか?)。

どんな助けでも大歓迎です!

4

3 に答える 3

9

でメイン アクティビティを開始しonResume、アクティビティ スタックをクリアしてみてください。

public void onResume() {
    super.onResume();
    startActivity(new Intent(this, MainScreen.class).addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
}

Intentこれらは追加する正しいフラグではないかもしれませんが、他のフラグをチェックしてください。

インテント フラグのドキュメント

于 2010-11-18T21:23:34.617 に答える
5

onPause()でfinish()を呼び出すことにより、正常に動作するようになりました。

繰り返しになりますが、「これはAndroidのやり方ではありません」という人々からのアドバイスに感謝します。この時点で、ベストプラクティスについてかなりよく理解しています。これは、異常なタイプのユーザーにとっては異常な状況です。

于 2010-12-06T21:13:49.330 に答える
2

リロードでこれを試すことができます。

onStop();
onCreate(getIntent().getExtras());
于 2010-11-18T21:10:57.263 に答える