4

開発中の Android アプリの状態を維持する方法がわかりません。

明確にするために、アクティビティの状態を維持すること (つまり、特定のアクティビティのテキスト ボックスの値、チェックボックスなどを追跡すること) について話しているわけではありません。

たとえば、私のアプリケーションに と の 2 つのアクティビティがあるAとしBます。アプリを起動すると activityに移動Aし、ボタンを押すと activity に移動しますB。この時点で、スマートフォンのホーム ボタンを押してメインの Android UI に戻り、アプリを終了します。ただし、アプリを再度実行することを選択した場合、アクティビティBに移動する必要があります。これは、ホームボタンを押す前に中断した場所ですが、代わりにアクティビティに移動していAます。

これを修正する方法を知っている人はいますか?

(あなたが知る必要がある場合に備えて、私はSamsung Vibrantを使用しています)

4

3 に答える 3

4

「しかし、アプリを再度実行することを選択すると、ホームボタンを押す前に中断したアクティビティ B に移動するはずですが、代わりにアクティビティ A に移動します。」

はい、そうすべきです。そうでない場合は、アプリで何かを行って、プラットフォームにその動作を変更するように指示しています。(例として ApiDemos を見てください。標準の動作を使用しています。これは、あなたが期待しているように聞こえるものです。)

注意事項:

  • アクティビティを起動するときに FLAG_ACTIVITY_NEW_TASK を使用しないでください。
  • singleTask または singleInstance 起動モードを使用しないでください。
  • clearTaskOnReset フラグが表示されません。
于 2011-02-23T05:26:51.470 に答える
1

あなたは「アプリケーション」と呼ばれるものがあると想像していますが、それは幻想です。アプリケーションは、アクティビティ、サービス、レシーバーなどの単なるコレクションです。

マニフェストのタグを見るintent-filterと、ホーム画面の各アイコンが次のようなフィルターに関連付けられていることがわかります。

     <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
     </intent-filter>

同じXMLのチャンクを両方のアクティビティに配置すると、ホーム画面に2つのアイコンが表示されます。1つは常にアクティビティAを起動し、もう1つは常にアクティビティBを起動します。

代わりに、共有状態に基づいて他のアクティビティの1つを起動するマスターアクティビティを作成することもできます。

共有状態を実際に保存する場所については、状態の複雑さによって異なります。これは開始するのに適した場所です:http://developer.android.com/guide/topics/data/data-storage.html

于 2011-02-23T04:59:06.170 に答える