Android 如何返回到起始活动
我正在编写一个简单的游戏,玩完之后,玩家会看到一个记分屏幕,上面写着分数。现在,我希望玩家有一个“返回主屏幕”按钮,将他带到主要活动,即Android 如何返回到起始活动,android,android-activity,Android,Android Activity,我正在编写一个简单的游戏,玩完之后,玩家会看到一个记分屏幕,上面写着分数。现在,我希望玩家有一个“返回主屏幕”按钮,将他带到主要活动,即StartActivity 我尝试了以下代码(见下文),但它不起作用。我做错了什么 public class ScoreActivity extends Activity implements OnClickListener{ @Override protected void onCreate(Bundle savedInstanceState
StartActivity
我尝试了以下代码(见下文),但它不起作用。我做错了什么
public class ScoreActivity extends Activity implements OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_score);
Button button = (Button)findViewById (R.id.startbutton);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Intent intent = new Intent(ScoreActivity.this, StartActivity.class);
ComponentName cn = intent.getComponent();
Intent mainIntent = IntentCompat.makeRestartActivityTask(cn);
startActivity(mainIntent);
}
}
调用
intent
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
因此,这将删除以前的后堆栈,即现在您使用它
@Override
public void onClick(View v) {
Intent mIntent = new Intent(ScoreActivity.this, StartActivity.class)
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(mIntent);
}
现在,您正在启动“活动”,按“上一步”后,应用程序将退出,创建一种方法,如下所示:
public void startIntentClearingStack(Context context, Intent in) {
in.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
if (Build.VERSION.SDK_INT > 10) {
in.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
}
context.startActivity(in);
}
首先调用此方法,然后为
MainActivity
调用startActivity(),尝试以这种方式工作
Intent intent = new Intent(ScoreActivity.this, StartActivity.class);
ComponentName cn = intent.getComponent();
Intent mainIntent = IntentCompat.makeRestartActivityTask(cn);
startActivity(mainIntent);
你的意思是要清除堆栈中的所有活动并从startActivity.class重新启动应用程序?你必须使用startActivityForResult()而不是startActivity()…是的,这就是我的意思当我尝试时,eclipse在activity.startActivity(mainIntent)上显示错误;你需要将android-support.jar放在你的libs文件夹中你正在使用哪个版本?好的,删除活动有问题,所以我需要删除这个活动,然后。。。?