2016-03-24 18 views
1

私は2つのアクティビティAとBを持っています。アクティビティAはアクティビティBを開始します。アクティビティBでは、マーカーを持つマップがあります。このアクティビティBは、マップ上のマーカの新しい位置をx秒ごとに返すサービスを開始し、ルートマーカーをトレースします。戻るボタンを押してアクティビティAに戻ると、アクティビティBに戻ると、そのマップを残しておきたいと思います。 あなたは何をお勧めしますか?すでに開いているアクティビティを復元するにはどうすればよいですか?

答えて

0

あなたはonbackpressedメソッドをオーバーライドして、バックはどのようにあなたのアプリケーションでこの場所.persist押されたとき、あなたは.STATICまたは定数やsharedprefを好むかさえに渡すあなたのマーカーの地理的位置を返します。このメソッド内の関数を書くことができます活動a。アクティビティBが再び起動され 、それはその後、市場にこの場所を送ると、あなたは活動Bにあなたのマニフェストに次の行を使用する必要があります

0

をマップしない場合は、この変数が値を持っているし、かどうかを確認:

... 

android:launchMode="singleTask" 

... 

例:

<activity 
     android:name=".activities.B" 
     android:label="@string/app_name" 
     android:launchMode="singleTask" 
     android:screenOrientation="portrait"> 
    </activity> 

これはまさに必要なものです。それが役に立てば幸い!

0

ShareprefかのSQLite ondestroy()、および活動Bが再びアクティブで、(ローカルストレージ上の)あなたのデータがnullでない場合、そこから読み、開始であなたの位置を保存し、再び新しい位置

をするためにトレースルート
関連する問題