アプリケーションにスプラッシュアクティビティを追加しようとしています。このスプラッシュアクティビティは、プログラムが初めて起動したときに開きます。
ただし、アプリが機能し、スプラッシュアクティビティをスキップしてメインアクティビティに移動し、ユーザーが長押ししてホーム画面に移動する場合
その後、ユーザーはアプリに戻ります、、
問題はここにあるので、アプリケーションはスプラッシュアクティビティを再度開きます
アプリケーションがアクティビティを再開するたびにアプリがスプラッシュアクティビティを開かないようにする必要があります。メインアクティビティを直接開く必要があります...
このコードを試しましたが、うまくいきません
スプラッシュアクティビティで..。
public class SplashActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Class<?> activityClass;
try
{
SharedPreferences prefs = getSharedPreferences("X", MODE_PRIVATE);
activityClass = Class.forName(prefs.getString("lastActivity", MainActivity.class.getName()));
}
catch(ClassNotFoundException ex)
{
activityClass = MainActivity.class;
}
startActivity(new Intent(this, activityClass));
Button btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent = new Intent(MainActivity.this,Main2Activity.class);
startActivity(intent);
}
}
);
}
}
メインアクティビティでは、このコードを使用します
public class Main2Activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
}
@Override
protected void onPause() {
super.onPause();
SharedPreferences prefs = getSharedPreferences("X", MODE_PRIVATE);
Editor editor = prefs.edit();
editor.putString("lastActivity", getClass().getName());
editor.commit();
}
}
私を助けてくれることを願っています
前もって感謝します
よろしく...:)