• ベストアンサー
  • 困ってます

アンドロイド 最後の画面から始めたい。

  • 質問No.8693760
  • 閲覧数81
  • ありがとう数11
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 45% (32/71)

アンドロイドでスマホアプリを作ってます。
1つのアプリ内にAとBの2つの画面があります。
最初はAの画面から始まります。
AとBの画面は画面内のボタンを押す事などで、相互に移動できます。
移動は、intentというのを使ってます。移動元の画面はfinishで終了してます。

今、アプリを終了した時にAの画面で終わったら、再開時Aの画面から
Bの画面で終わったら再開時Bの画面から始まるようにしようとしてます。

考えてた方法としては、終了(pause)する時に、
SharedPreferencesなどを使ってどの画面で終了したかをキーとして保存し
再開(resume)する時にその画面に移動するという方法ですが、
ボタンでの画面移動の時もresumeが呼ばれるため、上手くいかないことに気づきました。

再開時に終了した画面から始めるにはどのようにするのが良い方法なのでしょうか。
まだかなり初心者です。よろしくお願いします。

質問者が選んだベストアンサー

  • 回答No.1
  • ベストアンサー

ベストアンサー率 65% (1332/2045)

一番分かりやすい構造は
新たにSTARTUPというアクティビティを作って
そいつがresumeでSharedPreferencesを読んで
AかBを起動して自分は終わるというものではないだろうか。

これだと、AとBは終了時にSharedPreferencesを書き、
STARTUPは起動時にSharedPreferencesを読む、
という単純な動作になる。

android.intent.category.LAUNCHERに応答するのはSTARTUPになるので、
アイコンやアクティビティ名はしっかり設定しておこう。

Androidは、戻るボタンはアクティブなアクティビティが終了するが、
ホームボタンはホームアプリを起動するまたはアクティブにする
(つまりアクティブなアクティビティは終了せずに後ろに隠れるだけ)
という動作になるためその違いも考慮に入れる必要があるかも知れない。
お礼コメント
evaan

お礼率 45% (32/71)

お返事が非常に遅くなり申し訳ありません。
方法について理解できました。どうも真にありがとうございます。
投稿日時:2014/08/04 00:06
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ