2010-11-18 24 views
3

私はAndroid向けの子供用アプリを持っています。アプリには基本的にナビゲーションがないので、このアプリケーションにはいくつかのユニークな考慮事項があります(これは若い子供向けです)。私は、iPhone上で成功している私のアプリのUIを中断/再開ボタンを追加することで中断したくない。Android App/Activityを新しく起動する起動または再開するたびに完全に起動しますか?

私が本当に必要とするのはかなりシンプルです - 私は自分のアクティビティ/アプリが起動するたびにクリーンで新しいものにしたいです。初期ロードであろうとなかろうと、基本的にいつでもonResumeと呼ばれています。

私は当初、ユーザーが離れると終了/終了/終了することができると思っていました。しかし、私は開始時にクラッシュを引き起こさない、これを行う方法を見つけていません。また、そのアイデアについてのスレッド/スタックのオーバーフローポストは、指を振っている人でいっぱいで、決してアンドロイドでアプリを終了してはいけないと言っています。

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

大変ありがとうございます。あなたのリロード中

+1

アプリの「再起動」とはどういう意味ですか?それが再起動されるたびに、子供たちは何がアプリの "うごめい"にあるのか見てみましょうか? – apps

+1

これはあなたが欲しいものですか? Android!= iPhone、このようなことをする前に、Androidのやり方を理解していることを確認してください。一般的に、ユーザーが家に帰ってすぐにアプリに戻ってくると、アプリは彼らが出発時と同じ場所にいることが期待されます。 –

+0

はい、これはまさに私の意味です。アプリはナビゲーションがなく、複数のゲームを繰り返します。ナビゲーション+ 3歳は一般的に不満を意味し、この市場でヒットした理由の1つです。私は*これはあなたが通常Androidアプリを動作させたいと思う方法ではないことを完全に知っています。他の場合にはこの方法を使用しません。とにかく、今はすべてがうまくいっているようです。 – peter

答えて

8

onResumeであなたの主な活動を開始し、活動のスタックをクリアしてみてください。

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

多分これらはcorrectlのフラグにはありません追加しますが、他のIntentフラグをチェックしてください。

intent flags documentation

+0

アクティビティライフサイクル(http://developer.android.com/reference/android/app/Activity.html)をチェックすると、これがメインアクティビティにある場合、起動ループに入ります。 – josetapadas

2

あなたはこれを試すことができます。..

onStop(); 
onCreate(getIntent().getExtras()); 
4

)(onPauseで)それは(仕上げを呼び出すことにより、正常に動作するようになってしまいました。

もう一度、「これはAndroidがどのように機能するか」というアドバイスに感謝します。私はこの時点でベストプラクティスをかなりよく理解しています。これは、異例のタイプのユーザーにとっては珍しい状況です。

関連する問題