您的位置首页百科快答

Android中按返回键怎么退出一个用程序

Android中按返回键怎么退出一个用程序

的有关信息介绍如下:

Android中按返回键怎么退出一个用程序

重写activty的onkeydown在用户按下返回键的时候调用,所以我们可以通过重写onkeydown的方法实现,还有可能到了MainActivity前面还有其他acitivty存活这,我们需要在onkeydown的时候把所有的activity都结束掉,为了实现这个我们先定义一个BaseActivity,在Oncreate和ondestroy生命周期里存储acitivty的引用

用一个List集合存储存活的acitivity,我们把list作为application成员

写一个MyApp类,作为程序启动的application

public

class

MyApp

extends

Application{

private

List

activities

=

new

ArrayList();

public

List

getActivities(){

return

activities;

}

}

BaseActivity代码如下

class

BaseActivity

extends

Activity{

@Override

protected

void

onCreate(Bundle

savedInstanceState)

{

super.onCreate(savedInstanceState);

((MyApp)getApplication()).getActivities().add(this);

}

@Override

protected

void

onDestroy()

{

super.onDestroy();

((MyApp)getApplication()).getActivities().remove(this);

}

}

以后工程里的所有Activity都继承于BaseActivity即可

最后是MainAcitivty的代码,在onkeydown方法里遍历list集合,调用每个activity的finish方法即可

public

class

MyActivity

extends

Activity

{

@Override

protected

void

onCreate(Bundle

savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_two);

}

@Override

public

boolean

onKeyDown(int

keyCode,

KeyEvent

event)

{

List

activities

=

((MyApp)getApplication()).getActivities();

for(Activity

activity:activities){

activity.finish();

}

return

super.onKeyDown(keyCode,

event);

}

}