随时随地退出程序的退出程序意义上就在不论你当前身处于那个页面,你都能最直接退出程序,不用一次次的点击Back键,虽然点击Home键表面上是退出了程序,实际上程序并没有退出,还在后台运行。此时如果想在某个活动退出整个程序,我们需要新建一个类,代码如下:
package com.example.app1;
import android.app.Activity;
import java.util.ArrayList;
import java.util.List;
public class Back {
public static List<Activity>myActivity=new ArrayList<>();
public static void addActivity(Activity activity)
{
myActivity.add(activity);
}
public static void removeActivity(Activity activity)
{
myActivity.remove(activity);
}
public static void finishAll()
{
for (Activity activity:myActivity)
{
if(!activity.isFinishing())
{
activity.finish();
}
}
myActivity.clear();
//杀死当前程序进程的代码,保证程序彻底退出。
android.os.Process.killProcess(android.os.Process.myPid());
}
}
在新建一个类,让所有活动继承这个类
package com.example.app1;
import android.app.Activity;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
public class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Back.addActivity(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
Back.removeActivity(this);
}
}
然后在想要退出程序的活动页面调用这个类的方法:
tv1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Back.finishAll();
}
});