我正在制作一个大约有 5 个页面和一个起始屏幕的应用程序,我知道如果我finish()
在该 onPause()
方法中编写,一旦用户转到下一页,页面就会被破坏。
我的要求是我不希望 AppPage 1 被销毁,直到我到达应用程序的第 3 页,但是一旦用户进入应用程序的第 4 页,我想销毁所有的 1,2,3我的应用程序的 AppPages,以便通过单击后退按钮无法访问它们并直接到达我的应用程序的启动屏幕,我不会在应用程序启动时杀死它。
所以我想问一下,当用户点击第 3 页的转到下一页按钮时,是否有可能杀死我的应用程序的 1、2、3 页。
谢谢
==== 编辑 =====
开始屏幕 -> AppPage1 -> AppPage2 --> AppPage3 --> AppPage4 (Kill AppPage1,2,3 here, so if back is clicked user到达starting screen) --> Appage 5 (Kill AppPage4)
==== 编辑 2 =====
AppPage1.java
public class AppPage1 extends Activity{
Button goToAppPage2;
BroadcastReceiver logout;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.apppage1);
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.closing.application.pages.AppPage1");
logout = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
finish();
}
};
registerReceiver (logout, intentFilter);
goToAppPage2 = (Button) findViewById(R.id.goToAppPage2);
goToAppPage2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i1 = new Intent(AppPage1.this, AppPage2.class);
startActivity(i1);
}
});
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
unregisterReceiver(logout);
}
}
AppPage2.java
public class AppPage2 extends Activity{
Button goToAppPage3;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.apppage2);
Intent intent = new Intent("kill");
intent.setType("spartan!!!");
sendBroadcast(new Intent(this, AppPage1.class));
goToAppPage3 = (Button) findViewById(R.id.goToAppPage3);
goToAppPage3.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i1 = new Intent(AppPage2.this, AppPage3.class);
startActivity(i1);
}
});
}
}