`
yezhiqiu-love
  • 浏览: 168717 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android应用按返回键完全退出应用

阅读更多

很多网友可能发现自己的Android程序有很多Activity,比如说主窗口A,调用了子窗口B,在B中如何关闭整个Android应用程序呢?

  首先要说明在B中直接使用finish(),接下来手机显示的还是主窗口A,所以一起来看看Android开发网是如何实现的吧.

  1. Dalvik VM的本地方法

Java代码
  1. android.os.Process.killProcess(android.os.Process.myPid())     //获取PID   

,目前获取自己的也只有该API,否则从/proc中自己的枚举其他进程吧,不过要说明的是,结束其他进程不一定有权限,不然就乱套了。

Java代码
  1. System.exit( 0 );    //常规java、c#的标准退出法,返回值为0代表正常退出   

 

 2. 任务管理器方法

   首先要说明该方法运行在Android 1.5 API Level为3以上才可以,同时需要权限android.permission.RESTART_PACKAGES,我们直接结束自己的package即 可,直接使用ActivityManager类的restartPackage方法即可,参数为package name,该类通过getSystemService(Context.ACTIVITY_SERVICE)来实例化ActivityManager对 象,这种方法系统提供的,但需要显示声明权限,所以使用中需要综合考虑。

 3. 根据Activity的声明周期

   我们知道Android的窗口类提供了历史栈,我们可以通过stack的原理来巧妙的实现,这里我们在A窗口打开B窗口时在Intent中直接加入标志 Intent.FLAG_ACTIVITY_CLEAR_TOP,这样开启B时将会清除该进程空间的所有Activity。

 在A窗口中使用下面的代码调用B窗口

Java代码
  1. Intent intent =  new  Intent();  
  2. intent.setClass(Android123.this , CWJ. class );  
  3. intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  //注意本行的FLAG设置   
  4. startActivity(intent); 
android应用中启动的所有Activity都位于一个栈中,当点击返回键时,可以通过Activity的isTaskRoot()方法来判断,当前activity是否位于当前栈中最后一个,如果不是则可以在返回时调用finish()方法,将当前的acitivity杀死。 当用户跳转到应用的主页面时,应对转向Intent 设置flag为FLAG_ACTIVITY_CLEAR_TOP的属性,这个属性会清除所有的之前的Activity
 
分享到:
评论

相关推荐

    Android中实现再按一次返回键退出应用程序

    总结来说,"Android中实现再按一次返回键退出应用程序"的核心是通过重写Activity的onKeyDown()方法,监听返回键事件,并结合时间判断来决定是否真的退出应用。这种设计体现了Android应用开发中的用户体验和交互设计...

    Android 点击两次返回键退出程序

    在Android系统中,点击两次返回键退出程序是一种常见的应用安全机制,目的是防止用户意外地退出正在使用的应用。这种设计能够确保用户在误触返回键时,不会立即退出应用,而是需要再次确认。以下是对这个主题的详细...

    Android按两次返回退出应用的代码

    以下是一个简单的示例代码,展示了如何在Android中实现按两次返回键退出应用: ```java private long firstBackPressTime = 0; private static final int TIME_INTERVAL = 2000; // 2秒的时间间隔 @Override ...

    Android 再按一次后退键退出应用程序 源码

    Android 返回键退出代码,第一次提示用户再按一次返回键退出,两秒钟内再按一次则退出程序,否则认为用户取消了退出操作!下下来就可以用,绝对好用哦~~~!!

    android按返回两次退出

    android中实现按两次返回键退出Activity,不再是返回一次就退出应用,第一次点击提示“再按一次退出应用”

    android两次按返回键退出程序实现

    ### Android 两次按返回键退出程序实现 在Android开发中,有时我们需要实现这样一个功能:...通过上述方法,我们可以在Android应用中实现“两次按返回键退出程序”的功能,不仅提高了用户体验,也增加了程序的稳定性。

    Android应用源码之返回键退出程序的两种方式.zip

    在Android应用开发中,用户可能期望通过点击设备的返回键来退出应用程序,但这并非系统...以上就是Android应用中实现返回键退出程序的两种常见方法。在实际开发中,开发者应根据项目需求和用户体验来选择合适的方式。

    Android onKeyDown监听返回键无效的解决办法

    其中,返回键是Android设备上最常用的物理按钮之一。大多数情况下,Activity默认会处理返回键的事件,并终止当前Activity。然而,在某些特定场景下,开发者可能需要自定义返回键的行为,这时候可能会遇到监听返回键...

    实现“两次按返回键退出程序”的效果

    ### 实现“两次按返回键退出程序”的效果 在安卓应用开发中,有时为了提高用户体验,我们会设置一种机制,即用户需要连续点击两次返回键才能退出应用。这种设计可以防止用户误操作导致应用意外关闭。下面我们就来...

    Android按两次返回键退出应用核心代码

    ### Android按两次返回键退出应用的核心代码解析 在Android开发中,为了提升用户体验,开发者经常会在应用程序中实现“按两次返回键退出应用”的功能。这种设计可以有效地避免用户因误触返回键而导致应用意外关闭的...

    android中连续点击返回键退出整个应用的实现

    虽然连续点击返回键退出应用是一种常见的做法,但也有其他方式,例如添加一个专门的退出按钮或者使用Android的权限管理来控制应用的生命周期。开发者应根据应用的需求和用户体验来选择合适的退出策略。 综上所述,...

    Android两次点击返回键退出应用

    这个机制就是所谓的“两次点击返回键退出应用”。下面将详细介绍如何实现这一功能。 首先,我们需要了解`onKeyDown`方法。在Android的Activity类中,系统提供了`onKeyDown`和`onKeyUp`两个方法来处理硬件按键的按下...

    点击两下返回键退出当前应用

    在Android应用开发中,"点击两下返回键退出当前应用"是一种常见的用户交互设计,它提高了用户体验,使得用户能够快速且直观地退出应用程序。这个DEMO实现的功能是当用户连续两次按下返回键时,程序会识别到这一行为...

    安卓Android源码——返回键退出程序的两种方式.rar

    在安卓(Android)开发中,实现应用程序通过返回键(back key)退出是一个常见的需求。本压缩包中的资源可能包含了两种不同的方法来实现这一功能。以下是关于这个主题的详细讲解: 一、第一种方式:重写Activity的...

    Android应用源码之返回键退出程序的两种方式.zip项目安卓应用源码下载

    Android应用源码之返回键退出程序的两种方式.zip项目安卓应用源码下载Android应用源码之返回键退出程序的两种方式.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目...

    Android完全退出应用demo

    5. **自定义Back按键行为**:覆盖`onBackPressed()`方法,使其在两次连续按下返回键时完全退出应用。这样可以避免用户意外退出,同时提供一致的用户体验。 ```java private long back_pressed; @Override public ...

    安卓Android源码——返回键退出程序的两种方式.zip

    `onKeyDown()`方法会在任何按键被按下时调用,而`onBackPressed()`则是在返回键被按下时调用。以下是一个简单的示例,展示了如何在`onBackPressed()`中实现退出程序: ```java @Override public void onBackPressed...

    Android实现点击两次返回键退出

    以上就是实现“点击两次返回键退出”功能的基本步骤。这个功能可以增强应用的用户体验,避免用户意外退出应用。同时,注意在实际应用中,还需要考虑到其他可能的情况,例如后台服务、多个Activity的管理等,以确保...

Global site tag (gtag.js) - Google Analytics