android双击退出如何实现android的连续点击两次会退键退出

android双击退出  时间:2021-06-15  阅读:()

android怎样点击两下退出程序

在Android中,Activity有个栈,一个Activity结束掉,会回到上一个Activity,并不是退出应用程序。

Android中,退出应用程序的方式: 1.通过pid int pid = android.os.Process.myPid(); //获取当前应用程序的PID android.os.Process.killProcess(pid); //杀死当前进程 这种方法退出应用,是会保留某些后进程,例如:Service,Notifications等。

2.通过ActivityManager ActivityManager manager = (ActivityManager)context.getSystemService(ACTIVITY_SERVICE); //获取应用程序管理器 manager.killBackgroundProcesses(getPackageName()); //强制结束当前应用程序 这种方式退出应用,会结束本应用程序的一切活动,因为本方法会根据应用程序的包名杀死所有进程包括Activity,Service,Notifications等。

怎么在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(); } }); //*号部分看具体情况而定

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<Activity> activities = new ArrayList<Activity>(); public List<Activity> 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<Activity> activities = ((MyApp)getApplication()).getActivities(); for(Activity activity:activities){ activity.finish(); } return super.onKeyDown(keyCode, event); } }

如何实现android的连续点击两次会退键退出

@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { if ((System.currentTimeMillis() - exitTime) > 2000) { exitTime = System.currentTimeMillis(); } else { finish(); System.exit(0); } return true; } return super.onKeyDown(keyCode, event); }

legionbox:美国、德国和瑞士独立服务器,E5/16GB/1Gbps月流量10TB起/$69/月起

legionbox怎么样?legionbox是一家来自于澳大利亚的主机销售商,成立时间在2014年,属于比较老牌商家。主要提供VPS和独立服务器产品,数据中心包括美国洛杉矶、瑞士、德国和俄罗斯。其中VPS采用KVM和Xen架构虚拟技术,硬盘分机械硬盘和固态硬盘,系统支持Windows。当前商家有几款大硬盘的独立服务器,可选美国、德国和瑞士机房,有兴趣的可以看一下,付款方式有PAYPAL、BTC等。...

日本CN2、香港CTG(150元/月) E5 2650 16G内存 20M CN2带宽 1T硬盘

提速啦简单介绍下提速啦 是成立于2012年的IDC老兵 长期以来是很多入门级IDC用户的必选商家 便宜 稳定 廉价 是你创业分销的不二之选,目前市场上很多的商家都是从提速啦拿货然后去分销的。提速啦最新物理机活动 爆炸便宜的香港CN2物理服务器 和 日本CN2物理服务器香港CTG E5 2650 16G内存 20M CN2带宽 1T硬盘 150元/月日本CN2 E5 2650 16G内存 20M C...

VirMach:$27.3/月-E3-1240v1/16GB/1TB/10TB/洛杉矶等多机房

上次部落分享过VirMach提供的End of Life Plans系列的VPS主机,最近他们又发布了DEDICATED MIGRATION SPECIALS产品,并提供6.5-7.5折优惠码,优惠后最低每月27.3美元起。同样的这些机器现在订购,将在2021年9月30日至2022年4月30日之间迁移,目前这些等待迁移机器可以在洛杉矶、达拉斯、亚特兰大、纽约、芝加哥等5个地区机房开设,未来迁移的时...

android双击退出为你推荐
阶乘符号数学中的阶乘符号与那个标点符号的写法相同?mergefield邮件合并日期,想让电子表格中的日期格式与WORD中的日期格式一致shoujiao求【叫兽】的简介云输入法QQ云输入法怎样进行中英文切换?短信套餐中国移动发短信有什么套餐比较好微盟价格做微盟平台的销售怎么样,有前景吗西安娱乐西安那里有好玩的地方,夜生活不去如何查看qq特别关心我的人qq空间特别关心我的人怎么看全峰快递官网请问全峰快递客服是多少?测试post请列出计算机上电自检(POST)的基本过程是什么?
网站备案域名查询 vps是什么 cn域名备案 腾讯云盘 asp.net主机 加勒比群岛 韩国俄罗斯 winhost godaddy域名转出 好玩的桌面 tightvnc 私有云存储 彩虹ip java虚拟主机 智能骨干网 qingyun 老左来了 新家坡 泉州电信 共享主机 更多