iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android 实现双击退出的功能
  • 267
分享到

Android 实现双击退出的功能

Android 2022-06-06 07:06:23 267人浏览 薄情痞子
摘要

实现android双击后退键退出当前APP功能 实现该功能基本思路是, 1, 监听后退键 , 比较两次后退间隔 , 低于两秒则出发退出 2, 退出当前APP 我选择在基类中Ba

实现android双击后退键退出当前APP功能

实现该功能基本思路是,

1, 监听后退键 , 比较两次后退间隔 , 低于两秒则出发退出

2, 退出当前APP

我选择在基类中BaseActivity 中设置监听,代码如下:


 public void onBackPressed() {
    //Preferences 中获取是否双击退出
    boolean isDoubleClick = true;
    //BaseApplication.get("ifDoubleClickedBack", true);
    if (isDoubleClick) {
      long curTime = SystemClock.uptimeMillis();
      if ((curTime - mBackPressedTime) < (2 * 1000)) {
        finish();
        //activity栈管理
        AppManager.getAppManager().AppExit();
      } else {
        mBackPressedTime = curTime;
        Toast.makeText(this, "再次点击退出", Toast.LENGTH_SHORT).show();
      }
    } else {
      finish();
    }
  }

在退出当前APP中,参考开源中国,封装了activity栈

实例代码:


public class AppManager {
  private static Stack<Activity> activityStack;
  private static AppManager instance;
  private AppManager() {
  }
  
  public static AppManager getAppManager() {
    if (instance == null) {
      instance = new AppManager();
    }
    if (activityStack == null) {
      activityStack = new Stack<Activity>();
    }
    return instance;
  }
  
  public static Activity getActivity(Class<?> cls) {
    if (activityStack != null)
      for (Activity activity : activityStack) {
        if (activity.getClass().equals(cls)) {
          return activity;
        }
      }
    return null;
  }
  
  public void addActivity(Activity activity) {
    activityStack.add(activity);
  }
  
  public Activity currentActivity() {
    Activity activity = activityStack.lastElement();
    return activity;
  }
  
  public void finishActivity() {
    Activity activity = activityStack.lastElement();
    finishActivity(activity);
  }
  
  public void finishActivity(Activity activity) {
    if (activity != null && activityStack.contains(activity)) {
      activityStack.remove(activity);
      activity.finish();
    }
  }
  
  public void removeActivity(Activity activity) {
    if (activity != null && activityStack.contains(activity)) {
      activityStack.remove(activity);
    }
  }
  
  public void finishActivity(Class<?> cls) {
    for (Activity activity : activityStack) {
      if (activity.getClass().equals(cls)) {
        finishActivity(activity);
        break;
      }
    }
  }
  
  public void finishAllActivity() {
    for (int i = 0, size = activityStack.size(); i < size; i++) {
      if (null != activityStack.get(i)) {
        finishActivity(activityStack.get(i));
      }
    }
    activityStack.clear();
  }
  
  public void AppExit() {
    try {
      finishAllActivity();
      // System.exit(0);
    } catch (Exception e) {
    }
  }
}

思路就是在每次activity 压入activity栈中管理

在退出时遍历栈,挨个finish

希望本文所述对大家的Android程序设计有所帮助。

您可能感兴趣的文章:Android双击返回键退出程序的实现方法Android App中实现可以双击放大和缩小图片功能的实例Android双击退出的实现方法Android 自定义View实现单击和双击事件的方法Android中双击返回键退出应用实例代码Android 双击返回键退出程序的方法总结Android实现双击TitleBar回顶部的功能示例代码


--结束END--

本文标题: Android 实现双击退出的功能

本文链接: https://www.lsjlt.com/news/24509.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android应用中怎么实现一个双击返回键退出应用的功能
    Android应用中怎么实现一个双击返回键退出应用的功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在MyAppliction中(继承Application) ...
    99+
    2023-05-31
    android roi
  • Android应用中怎么实现一个双击返回键退出程序功能
    Android应用中怎么实现一个双击返回键退出程序功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。具体如下:  第一种就是根据用户点击俩次的时间间隔去判断是否退出程...
    99+
    2023-05-31
    android roi
  • android点击按钮退出程序功能怎么实现
    要实现Android点击按钮退出程序的功能,可以使用以下步骤:1. 在XML布局文件中,创建一个按钮控件:xml2. 在Java代码...
    99+
    2023-10-20
    android
  • Android双击返回键退出程序怎么实现
    要实现Android双击返回键退出程序,你可以使用以下方法:1. 在你的Activity中创建一个变量`lastBackPressT...
    99+
    2023-08-23
    Android
  • Android双击返回键退出程序的3种写法
    1. 使用onBackPressed()方法:@Overridepublic void onBackPressed() {super...
    99+
    2023-08-23
    Android
  • 怎么在Android实现一个双击TitleBar回到顶部功能
    今天就跟大家聊聊有关怎么在Android实现一个双击TitleBar回到顶部功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。双击返回顶部代码public class&nb...
    99+
    2023-05-30
    android titlebar
  • Android怎么实现点击功能
    Android中实现点击功能的方法有多种。以下是几种常用的实现方式:1. 使用Button控件:在布局文件中添加Button控件,然...
    99+
    2023-08-18
    Android
  • ionic+html5+API如何实现双击返回键退出应用
    这篇文章主要介绍ionic+html5+API如何实现双击返回键退出应用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用ionic+MUI联合开发app,鉴于ionic单方面实现的...
    99+
    2024-04-02
  • Android中怎么实现点击功能
    在Android中实现点击功能,可以通过以下步骤来实现:1. 在XML布局文件中定义一个视图组件,如Button、ImageView...
    99+
    2023-09-15
    Android
  • 怎么在Android中实现一个滑动退出Activity功能
    怎么在Android中实现一个滑动退出Activity功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。实现Android 滑动退出Activity的功能and...
    99+
    2023-05-30
    android activity roi
  • Tomcat中出现双击startup.bat闪退如何解决
    Tomcat中出现双击startup.bat闪退如何解决?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。环境变量问题1 首先需要确认java环境是否配置正确,jdk是否安装正确w...
    99+
    2023-06-06
  • php退出登录功能如何实现
    要实现PHP退出登录功能,可以通过以下步骤实现:1. 在登录成功后,将用户的登录状态保存在会话(session)中。可以使用`ses...
    99+
    2023-10-11
    php
  • android怎么实现自动点击功能
    要实现Android自动点击功能,可以使用Android提供的AccessibilityService服务。步骤如下:1. 创建一个...
    99+
    2023-10-07
    android
  • Android中怎么实现仿iOS侧滑退出当前界面功能
    小编给大家分享一下Android中怎么实现仿iOS侧滑退出当前界面功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!首先看下效果图:分析:(1)要想模仿ios的这...
    99+
    2023-05-30
  • 完美解决Redis在双击redis-server.exe出现闪退问题
    问题 本人是习惯直接双击Redis-server.exe来打开Redis程序,然后感觉没用了就关掉窗口,事实上很多时候即使你关闭了,在电脑后台依旧还连接着。这就会导致了你再次双击redis-server.exe的时候出现...
    99+
    2023-01-04
    redis-server.exe闪退
  • Android实现底部弹出的对话框功能
    环境: 主机:WIN10 开发环境:Android Studio 2.2 Preview 3说明:两种方法实现底部弹出的对话框: Dialog DialogFragment推荐用DialogFragment效果图:布局文件dialo...
    99+
    2023-05-31
    android 底部 对话框
  • Flutter 点击两次退出app的实现示例
    目录1.App组件2.InAppWebview组件在安卓手机上才会有物理返回键,而ios手机是没有的,所以说这个是安卓手机独有的功能。 使用场景:当用户在某一段时间内连续点击两次返回...
    99+
    2024-04-02
  • Golang使用channel实现一个优雅退出功能
    目录前言实现思路读源码HookEngine Status优雅退出自己实现适配 Hook适配 Engine Status适配 Graceful Shutdown总结前言 最近补 Gol...
    99+
    2023-03-09
    Golang channel实现退出功能 Golang channel退出 Golang channel
  • 怎么实现一个按Home键退出应用的功能
    怎么实现一个按Home键退出应用的功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。实例如下:func exitApplication() { let app = ...
    99+
    2023-05-31
    home键
  • Flutter怎么实现点击两次退出app
    本文小编为大家详细介绍“Flutter怎么实现点击两次退出app”,内容详细,步骤清晰,细节处理妥当,希望这篇“Flutter怎么实现点击两次退出app”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在安卓手机上才...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作