
Android系统自带这样的功能,不过需要手动开启,开启方式:
点击系统设置。
在设派册厅备中点击按键尘隐。
点击长按屏姿首幕按键下的返回键,选择停止当前程序即可。
Android Studio中,随时随地的退出程序(记得导入相应的包,可以设置自动导入所需的包的,下面的代码还没有导入包的部分):①新建一个 ActivityCollector 类,作为活动管理器碰烂,代码如下所示:
public class ActivityCollector {
public static List<Activity>activities = new ArrayList<>()
public static void addActivity(Activity activity) {
activities.add(activity)
}
public static void removeActivity(Activity activity) {
activities.remove(activity)
}
public static void finishAll() {
for (Activity activity : activities)
{
if(!activity.isFinishing())
{
activity.finish()
}
}
activities.clear()
//以下是杀死当前程序进程的代码,保证程序彻底退出。
android.os.Process.killProcess(android.os.Process.myPid())
}
}
②再新建一个类BaseActivity,并隐磨让所有活动继承这个类,也就是其灶吵斗他的全部活动都改为extends BaseActivity,而不是原来的extends AppCompatActivity。
public class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
Log.d("BaseActivity", getClass().getClass().getSimpleName())
ActivityCollector.addActivity(this)
}
@Override
protected void onDestroy() {
super.onDestroy()
ActivityCollector.removeActivity(this)
}
}
③在你想要退出程序的页面(Activity)的setContentView(R.layout.*****)下面加上如下代码,从而实现点击一个按钮退出整个程序。
Button button3 = (Button) findViewById(R.id.*****)
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ActivityCollector.finishAll()
}
})
//*号部分看具体情况而定
需要使用BroadcastReceiver 广播亩瞎野接收者迅喊,注册HOME广播。
创建广播接收者
public class HomeReceiver extends BroadcastReceiver {
public void onReceive(Context context,Intent intent){
}
}
2.注册广播
<receiver android:name="com.xxx.xxx.HomeReceiver" >
<intent-filter>
<action android:name="android.intent.action.CLOSE_SYSTEM_DIALOGS" />
</intent-filter>
</receiver>
3.退出程序
int pid = android.os.Process.myPid() //获取当前应用程序的PID
android.os.Process.killProcess(pid) //结束当神弯前进程
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)