我有两项活动。
在MainActivity中完成一些工作后,ListAllActivity启动。 我想从ListAllActivity按下后退按钮时退出应用程序。我的代码是,
@Override
public void onBackPressed() {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
super.onBackPressed();
}
但是,当我从ListAllActivity按下后退按钮时,它只会让我回到MainActivity。
这些活动的AndroidManifest条目是:
<activity
android:name="com.example.myapps.MainActivity"
android:label="@string/loading" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.myapps.ListAllActivity"
android:label="@string/title_activity_list_all" >
</activity>
请帮忙。
答案 0 :(得分:1)
当您将意图从MainActivity触发到ListActivity时,请像{/ p>一样调用finish();
Intent intent = new Intent(MainActivity.this, ListActivity.class);
startActivity(intent);
finish();
答案 1 :(得分:1)
在开始MainActivity
之前尝试完成ListAllActivity
,并在ListAllActivity
上完成onBackpressed
,如下所示:
假设您从mainactivity开始ListAllActivity
。
public class MainActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
....................
//Supposing you are starting activity on button click write as below in your onclick event.
Intent intent = new Intent(MainActivity.this, ListActivity.class);
startActivity(intent);
finish();
}
}
在ListAllActivity
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
}
答案 2 :(得分:1)
按照以下步骤
MainActivity
finish()
方法ListAllActivity
ListAllActivity
调用按钮上的finish()方法,或者只需按后退按钮作为后退按钮,默认情况下调用finish()
方法。在下一个按钮上单击MainActivity
写下面的代码
Intent intent=new Intent(MainActivity.this,ListAllActivity.class);
startActivity(intent);
finish();
并在ListAllActivity
后退按钮上写下代码
finish();
答案 3 :(得分:0)
Intent intent = new Intent(getApplicationContext(), ListActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
像这样传递意图从第一个活动开始列表活动,当你在列表活动应用程序中按回来将退出。
答案 4 :(得分:0)
这就是你需要的所有
@Override
public void onBackPressed ()
{
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
答案 5 :(得分:0)
只需在onBackPressed()中使用我的代码片段即可使用进程ID终止进程。它简单而且效率更高。
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
android.os.Process.killProcess(android.os.Process.myPid());
}
答案 6 :(得分:0)
您只需要调用finish()
方法:
Intent intent=new Intent(MainActivity.this,ListAllActivity.class);
startActivity(intent);
finish();
同样在ListAllActivity后退按钮上写下代码:
finish();