次に、私のアプリには、SplashActivity -> メニュー ---> Q_001 ---> Q_002 ... (...) ..... Q_finish の順に 103 のアクティビティがあります。各アクティビティには、アプリを終了するボタン (ホーム ボタンなど) と、メニューに戻るボタンがあります。ユーザーがアプリを強制終了し、別のときにアプリを開くと、使用していたアクティビティに戻ります。
私は、SpalshActivity を変更しようとしなければならないことを知っています。あなたが行っていた最後のアクティビティです。彼のワークを継続するためのアクティビティを実行していない場合、これは SplashActivity のコードです。
package org.somename;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle TravisIsAwesome) {
super.onCreate(TravisIsAwesome);
setContentView(R.layout.splash);
Thread logoTimer = new Thread (){
@Override
public void run(){
try{
sleep(500);
Intent menuIntent = new Intent("org.somename.MENU");
startActivity(menuIntent);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
finish();
}
}
};
logoTimer.start();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
活動メニューを保存することは気にしないと言い続けますが、「Q_001」から始まるすべての活動と活動「Q_finish」を終了するすべての活動。新しいこのメソッドを使用しようとしました: 前の質問で提案し、このコードを実装しました:
package org.somename;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle TravisIsAwesome) {
super.onCreate(TravisIsAwesome);
setContentView(R.layout.splash);
int last_activity = getLastActivityIdFromSharedPreferences();
if (last_activity == 1)
{
this.startActivity(new Intent(this, Q_001.class));
finish();
}
int last_activity2 = getLastActivityIdFromSharedPreferences2();
if (last_activity2 == 2)
{
this.startActivity(new Intent(this, Q_002.class));
finish();
}
Thread logoTimer = new Thread (){
@Override
public void run(){
try{
sleep(500);
Intent menuIntent = new Intent("org.somename.MENU");
startActivity(menuIntent);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
finish();
}
}
};
logoTimer.start();
}
private int getLastActivityIdFromSharedPreferences2() {
// TODO Auto-generated method stub
return 2;
}
private int getLastActivityIdFromSharedPreferences() {
// TODO Auto-generated method stub
return 1;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
ただし、SprahActivity の一部ではなく、実行された Activity には戻りません。空白ページの SprahActivity を使用して、メニューに直接移動します
少し早いですがお礼を