2011-08-12 6 views
1

は、あなたの例を与えるために、私は基本的に3つの活動でアプリを持っています。 Activity1からアプリケーションを終了すると、後で携帯電話からアプリアイコンをクリックすると、Androidがこれを追跡しているため、Activity1が再開されます。 StartActivityに移動するには、アプリケーションを再起動してStartActivityに戻ることができるようにするために、ボタンをクリックする必要はありません。 私はonResumeとonRestartが関係していると仮定していますが、どこに行くべきですか?Android - アプリが開かれるたびに全く同じアクティビティを開始するにはどうすればよいですか? Activity1 Activity2 StartActivity</p> <p>StartActivityがそれらを起動、それぞれ他の2つのアクティビティに対応する2つのボタンがあります。一言で言えば

ご協力いただきまして誠にありがとうございます。

+0

「アクティビティ1からアプリケーションを終了すると、後で電話機からアプリアイコンをクリックすると、アクティビティ2が再開されます」 - >アクティビティ1が再開されたことを意味しましたか? – Jack

+0

はい、私はそれについて申し訳ありませんでした – dumbfreak

答えて

6

あなたはアンドロイドに見えるかもしれません:マニフェストファイルからclearTaskOnLaunchアクティビティ属性:http://developer.android.com/guide/topics/manifest/activity-element.html

を私はあなたのルートアクティビティの「真」にこの属性を設定すると、あなたが何をしたいんだと思います。

+0

これは素晴らしい機能です! – dumbfreak

+0

答えを受け入れてください! – darma

0

一般に、私が理解しているところからは、BACKボタンを使ってアクティビティを終了し、HOMEボタンはアクティビティを本質的に「最小限に抑える」ということです。

この機能は同じですが、ホームボタンを無効にしてアプリケーションを完全に終了することもできます。

1

解決策がActivity1とActivity2を破壊すると思います。onStopこれによりスタックにはStartActivityだけが残されます。アクティビティでfinishメソッドを呼び出して、いつでもプログラムで終了することができます。

+0

私は間違っていると思うonPauseは、あなたのデバイスを回転させることによってそれらを殺すことを意味する設定変更のActivity1とActivity2に呼び出される!ここに私の提案された解決策を見てください – darma

+0

@darmaそう、あなたが正しいと思う。私は私の答えを編集します。 –

+0

申し訳ありませんが、デバイスを回転させるときにもonStop()が呼び出されるため、実行可能なアプローチではありません。 – darma

0

mainfest.xmlファイルには、次のように記述します。

<activity android:name=".StartActivity" android:label="@string/app_name" 
       android:clearTaskOnLaunch="true"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

アンドロイド:clearTaskOnLaunch = "true" 属性が自動的に活動を再開。

関連する問題