我有一个令我讨厌的问题。我做了一个有两个活动炎的应用程序。第一个活动有一个按钮,当您按下按钮时,它会启动第二个活动。我在第二个活动中按下主页按钮退出应用程序,当我重新打开应用程序时,活动启动它是第一个。我想启动应用程序关闭的活动,在这种情况下是第二个。我该怎么办?
public class FirstActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
View bub = findViewById(R.id.card_ub);
bub.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent1 = new Intent(FisrtActivity.this, SecondActivity.class);
startActivity(intent1);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
}
return super.onOptionsItemSelected(item);
}
}
第二项活动 -
public class SecondActivityActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
View bub = findViewById(R.id.card_ub);
bub.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent1 = new Intent(FSecondActivity.this, FirstActivity.class);
startActivity(intent1);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
}
return super.onOptionsItemSelected(item);
}
}
清单文件 -
<application
android:allowBackup="true"
android:icon="@drawable/dc"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".FirstActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SecondActivity"
android:label="Example"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
</activity>
</application>
</manifest>
答案 0 :(得分:0)
检查开发者页面以更好地了解backstack。
http://developer.android.com/guide/components/tasks-and-back-stack.html
只需调用startactivity(new Intent(FirstActivity.this,SecondActivity.class)。如果你在开始新活动时不调用finish()。如果你使用CLEAR_FLAG这样的意图标志,它会在开始第二个活动时破坏你的活动
答案 1 :(得分:0)
如果您设置了“不要保留后台进程”,请检查您的手机设置。 在您的情况下,您的电话系统似乎总是在输入背景时终止您的应用程序。
因此,如果您的手机始终如此,您可以做两件事:
下次打开应用程序时,请检查FirstActivity中的应用程序状态,并将状态恢复为SecondActivity。