Android程序退出处理

Android应用程序退出的按键处理方法及代码示例 需要注意的是,如果你的应用程序包含多个Activity,并且你想在所有Activity中处理后退键的点击事件,可以创建一个基类Activity,然后让所有的Activity都继承这个基类Activity,并在基类Activity中重写。方法,我们可以处理后退键的点击事件,并执行相应的操作,例如关闭当前Activity或退出整个应用程序。在这个方法中,你可以执行你需要的操作,例如关闭当前Activity或退出整个应用程序。在Android应用程序中,按下后退键是用户退出应用程序的一种常见方式。 阅读详情

程序退出处理

 

 

public class SplashScreen extends AppCompatActivity {

private static long SPLASH_MILLIS = 1000;

ImageView image1;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

 

requestWindowFeature(Window.FEATURE_NO_TITLE);

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

WindowManager.LayoutParams.FLAG_FULLSCREEN);

 

LayoutInflater inflater = LayoutInflater.from(this);

LinearLayout layout = (LinearLayout) inflater.inflate(

R.layout.splashscreen, null, false);

 

addContentView(layout, new WindowManager.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT,

WindowManager.LayoutParams.MATCH_PARENT));

 

final Handler handler = new Handler();

handler.postDelayed(new Runnable() {

@Override

public void run() {

Intent intent = new Intent(SplashScreen.this, MainActivity.class);

startActivity(intent);

finish();

}

}, SPLASH_MILLIS);

}

}

 

 

//上次按下返回键的系统时间

private long lastBackTime = 0;

//当前按下返回键的系统时间

private long currentBackTime = 0;

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

//捕获返回键按下的事件

if(keyCode == KeyEvent.KEYCODE_BACK){

//获取当前系统时间的毫秒数

currentBackTime = System.currentTimeMillis();

//比较上次按下返回键和当前按下返回键的时间差,如果大于2秒,则提示再按一次退出

if(currentBackTime - lastBackTime > 2 * 1000){

Toast.makeText(this, "再按一次返回键退出", Toast.LENGTH_SHORT).show();

lastBackTime = currentBackTime;

}else{ //如果两次按下的时间差小于2秒,则退出程序

//int pid = android.os.Process.myPid(); //获取当前应用程序的PID

//android.os.Process.killProcess(pid); //杀死当前进程

this.finish();

}

return true;

}

return super.onKeyDown(keyCode, event);

}

 

拦截回退操作

@Override

public void onBackPressed() {

    Intent MyIntent = new Intent(Intent.ACTION_MAIN);

    MyIntent.addCategory(Intent.CATEGORY_HOME);

    startActivity(MyIntent);

}

 

Rapid SCADA MQTT 一、配置RapidSCADA 1、准备KpMqtt.dll、Jint.dll库文件,从网盘下载。 2、将以上两个文件拷贝到SCADA安装目录的Comm/KP目录下,如下: C:\SCADA\ScadaComm\KP 3、新建SCADA项目 4、新建Line 5、新建Device 6、拷贝Config目录下的KpMqtt_001.xml文件、KpMqtt_Job.js文件到项目Comm\Config下,如下示例链接 C:\SCADA\Projects\MQTTProject\Instances\Defau 阅读详情

相关推荐

VBOX 3iS实战:如何用GNSS+IMU搞定车辆动态坡度测量(附避坑指南)

本文详细介绍了VBOX 3iS在车辆动态坡度测量中的高阶应用,通过GNSS+IMU融合技术和卡尔曼滤波算法,有效解决了传统测量方法在动态环境中的局限性。文章提供了设备配置、实战策略和数据后处理的实用指南,帮助工程师提升测量精度和效率。

weixin_42520796的博客 321

Android 性能优化之旋转屏幕优化

我的博客原文地址问题背景在桌面转屏发现响应不够迅速,对比其他产品有很大的提升空间,针对此问题进行了一些分析和优化。问题分析和解决方法首先简单介绍一下旋转屏幕的流程,首先各个界面要进行重绘,在重绘过程中要进行冻屏,只有所有Window都进行绘制完成了才进行转屏,因此这里面就有个木桶效应,转屏的时间取决于重绘最慢的那个。 首先分析Log,找出可以优化的点:adb shell dumpsys windo

寒江蓑笠的专栏 7601

SAP 超详细解析信用控制

当然,集团内中国区、日本或欧洲区的公司使用了不同本位货币会计核算虽然分开,但对于客户的信用也可以统一管 理的,只要将这些不同本位币的公司代码纳入同一信用控制范围,信用控制范围货币可以考虑使用总部集团的货币,各公司代码的信用发生额自动根据系统设定汇率 转换为统一的信用控制范围货币。此步有一个“覆盖CC范 围”的选项,表示在过账时此步缺省的分配给公司代码的信用控制范围可以在其它信用控制范围使用,有时当一个公司代码的客户需要将信用数据过账到其它信用控 制区域,这个选择就非常有必要。

matinal 當冬夜漸暖 。公众号:matinal 1万+

Android T WMS窗口相关流程

什么是窗口 窗口即是屏幕上的一块用于绘制各种UI元素并可以响应用户输入的一个矩形区域。从原理上讲,窗口的概念是独自占有一个Surface实例的显示区域(我们在屏幕上看到的图形都需要绘制在Surface上)。 Window是个抽象类其实现类为PhoneWindow。

yimelancholy的博客 1万+

Overleaf-Latex-Elsevier-图、表、参考文献标题及引用、伪代码写法(绝对详细直观且易懂)

overleaf爱思唯尔模板踩过的一些坑以及解决办法

2403_87584552的博客 5851

杰理的蓝牙芯片的key是什么?以及该如何添加key?杰理key文件原理

很多的工程师,在开发杰理蓝牙芯片的第一步就会有一个很深的疑惑,关于key的 1、什么是key文件? 2、Key文件是如何产生的? 3、为什么需要他key文件? 4、如何添加key文件? 5、以及实际开发中的一些报错该如何处理?

qyvhome的博客 4096

Android 常见dumpsys方法与黑屏问题分析处理总结

黑屏问题是显示相关的综合性问题,涉及Android应用层、框架层和底层SurfaceFlinger、屏显等多个领域。下面有一些基础的判断来定位黑屏问题的归属:(1) 屏幕没有亮屏、背光为0则需先从power、屏显角度分析(2) 屏幕黑屏,但可以进行三指截屏、power键+音量下键截屏,并且截图正常显示(非黑图),则需先从屏显角度分析(3) 视频类、相机类显示黑屏,需要先确认编解码、阅览显示问题(4) 应用界面局部性黑块,某个控件黑,确认应用的view问题。

yimelancholy的博客 1万+

Cadence Allegro 17.4学习记录开始01-原理图Capture CIS 17.4

Orcad的学习记录

qq_31444421的博客 1万+

Waiting for drawn Window耗时过长流程梳理

存在一个问题:负载指纹响应时间衰退达到1秒多,从log中看Waiting for drawn Window 耗时太长 Line 3204: 08-14 14:44:45.929433 1100 5600 I PowerManagerService: Waking up from sleep (uid=10028 reason=android.policy:FINGERPRINT)... ...

一杯咖啡的专栏 4755

基于Python的SEC Edgar文件高效爬取:最新技术与实战指南

本文详细介绍了如何使用Python最新技术高效爬取SEC Edgar数据库中的金融文件。我们将探讨SEC Edgar系统的结构、合法爬取注意事项,并使用现代Python库如Requests-HTML、aiohttp和Playwright实现多种爬取方案。文章包含完整的代码示例、性能优化技巧以及数据处理方法,为金融数据分析师、研究人员和开发者提供全面指导。关键词:SEC Edgar、Python爬虫、金融数据、异步爬取、Playwright、XBRL解析。

2201_76125261的博客 634

采样率转化代码C++(有理倍数,升采样、降采样均可)

【代码】采样率转化(有理倍数,升采样、降采样均可)

goudahai的专栏 547

Android 7.1 GUI系统-窗口管理WMS-Surface管理(四)

Surface的管理 Surface是窗口能真正显示到物理屏幕上的基础,由surfaceflinger管理,可以通过WindowStateAnimator.java中的变量mDrawState来查看每个窗口相关的surface的状态。 surface有5中状态: WindowStateAnimator.java //Surface还没有创建。 staticfinal int NO_SUR

lin20080410的专栏 4431

Windows10环境下激活虚拟环境报错【source : 无法将“source”项识别为 cmdlet、函数、脚本文件或可运行程序的名称】

在使用Django创建Web程序前,需要创建一个虚拟的工作环境,在使用【source ll_env/bin/activate】命令激活虚拟环境时报错:source : 无法将“source”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。所在位置 行:1 字符: 2。

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 1万+

Android程序退出的处理

在退出Android程序时,我们有时候可以看到这种情况:使用android.os.Process.killProcess(android.os.Process.myPid()) ; 或 System.exit(0); 退出程序时,有时并没有完全退出,有些Activity还没有关闭。为了保证程序完全退出,我们在开发时,可以用一个队列或堆栈来保存程序中未关闭的Activity,退出时先取出队列或堆栈中

xuwei527的专栏 3901

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Android 重写系统Crash处理类,保存Crash信息到SD卡 和 完美退出程序的方法

我们开发Android应用的时候,当出现Crash的时候,系统弹出一个警告框,如下图一,有些手机会黑屏几秒钟然后还伴随着振动,作为我们开发人员,是很讨厌这样子的Crash,因为这意味着我们又要改bug,每个程序员都希望自己开发出来的东西bug少点,稳定点,但是没有bug的程序几乎是不可能的,作为用户,如果出现这样子的警告框,他的心情也会很不爽,也许还会破口大骂,如果用图二来提示用户是不是感觉会好一

Mobile Internet developer 2万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

phonegap开发android程序退出时的处理

最近在用phonegap在android上做一个应用程序,应用程序使用浏览器呈现的,因为程序要求能够动态升级,也就是动态修改程序本身的javascript和cSS文件等, 这就遇到了一个问题,因为在程序运行时动态修改完正在引用的javascript或者css文件后,并不能试试更新调用,需要重启程序。这样才能加载新的更新的文件。在程序用后退 键进行退出时,总是不能完全退出,只是界面退出,程序还是

xiayefanxing的专栏 8007

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

安卓退出程序,嗯

public class App { /** * 退出程序 */ public static void ExitApp() { try { System.exit(0); } catch(Exception ex) { Print("System.exit退出程序失败!"); Print(ex.getMessage()); } try { android.os.P

伟昭的小文章栏目 655

android 退出程序及back键相关处理

1、 Android程序的隐藏与退出 Android的程序无需刻意的去退出,当你一按下手机的back键的时候,系统会默认调用程序栈中最上层Activity的Destroy()方法来销毁当前Activity,当此Activity又被其它Activity启动起来的时候,会重新调用OnCreate()方法进行创建,当栈中所有Activity都弹出结束后,应用也就随之结束了.如果说

LOVE_GG的专栏 5084

(AS笔记)Android防触碰处理——再按一次退出程序

在需要执行防误触的Activity重新onKeyUp 方法 /** * 防触碰处理 * @param keyCode * @param event * @return */ @Override public boolean onKeyUp(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYC...

张松的博客 648

QT for android 退出程序的处理(返回键处理)

参考: QT for android 退出程序的处理(返回键处理) – 神奇代码串 最近摸索QT for android的程序开发,发现点击返回键无法退出程序,网上查到安卓返回键的值为 0x01000061 ,因此尝试建立一个 QKeyEvent 事件处理,结果可行,代码如下: #define Key_Back 0x01000061 void register_machine::keyReleaseEvent(QKeyEvent *event) { if(event->key()=

xpz84的博客 1911

android程序退出后静态变量的处理

由于android应用程序退出后,应用jnchen

yedeerzi的专栏 1587

Android按返回键退出程序但不销毁,程序后台运行,同QQ退出处理方式

1 @Override 2 public boolean onKeyDown(int keyCode, KeyEvent event) { 3 if (keyCode == KeyEvent.KEYCODE_BACK) { 4 moveTaskToBack(false); 5 return true; 6 ...

weixin_30568715的博客 126
上一篇: ORPSoc结构
下一篇: 逻辑器件应用要点
左氏浮夸
博客等级 码龄15年 73粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值