gpt4 book ai didi

android - 如何在暂停应用程序后打开上次打开的 Activity

转载 作者:行者123 更新时间:2023-11-29 21:52:03 25 4
gpt4 key购买 nike

我尝试将 Splash Activity 添加到我的应用程序此启动 Activity 在程序首次启动时打开

但是当应用程序运行并跳过启动 Activity 到主要 Activity 时用户按住并转到主屏幕

之后用户将返回应用程序,,

问题就在这里所以应用程序再次重新打开启动 Activity

我不希望应用程序每次恢复 Activity 时都打开启动 Activity 我需要直接打开主要 Activity ...

我试过这段代码,但它对我不起作用

在飞溅 Activity 中......

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);
}
}
);
}


}

在主 Activity 中我使用了这段代码

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();
}

}

最佳答案

使用 Application 类保存全局标志:

public class App extends Application {
private static boolean sFirstRun = false;

public static boolean fetchFirstRun() {
boolean old = sFirstRun;
sFirstRun = false;
return old;
}

//--called when app process is created--
@Override
public void onCreate() {
super.onCreate();

sFirstRun = true;
}
}

并在 manifest.xml 中添加:<application android:name=".App"

现在,App.fetchFirstRun()仅当从头开始创建 App 进程时才为真。只要应用程序正在运行,后续调用就会返回 false。

关于android - 如何在暂停应用程序后打开上次打开的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14158624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com