【发布时间】:2024-04-13 11:40:02
【问题描述】:
然后在我的应用程序中有 103 个活动,按顺序 SplashActivity -> 菜单 ---> Q_001 ---> Q_002 ... (...) ..... Q_finish。 在每个活动中,我都有一个用于退出应用程序的按钮(如主页按钮),以及一个返回菜单的按钮。 现在我希望如果用户杀死该应用程序,并在另一个时间打开它返回到正在使用的活动,
我知道我必须尝试更改 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;
}
}
但它不是 SplahActivity 的一部分,并且不会返回执行的 Activity。 直接进入菜单,SplahActivity 为空白页
提前致谢
【问题讨论】:
-
1.在 Android 中,启动画面通常是不受欢迎的(阅读此内容,例如:cyrilmottier.com/2012/05/03/…) 2. 103 活动!听起来你有一个设计问题!如果你能解释一下你的应用到底在做什么,我们可能会帮助你... 3. menuIntent 到底在做什么?
-
我正在开发一个测验,103活动中有100个问题
-
每个测验问题真的很复杂吗?喜欢视频+绘画?还是只是琐碎的追求测验?
-
每个Activity都有一个webview和4个按钮
标签: android android-activity kill