Android开发学习日志 - 提示用户是否关闭程序
2010-07-22 22:00
393 查看
开篇(着急的兄弟请自己过滤此段)
一直想动手写写关于我怎么做Android程序的,可是总是打开之后不知道如何写下去,只能无奈的关闭。今天,我下定决心一定要写出来。
首先明确一点,用户的一直点击的返回键,之后就会退出到桌面。那么,如何提示呢?很简单,在用户一顿返回键回到程序入口处(即程序的第一个Activity)给用户一个提示,您再按可就退出程序啦?那么如何在程序入口处增加这个提示呢?明显,我们要侦听用户的点击返回键这一事件。怎样才能做到侦听这一事件呢?代码如下:
重写了Activity的侦听方法,如果用户按的键值与返回键键值相同便执行显示dialog的操作。
当然你还要重写dialog方法:
protected void dialog() {
这时候您再在程序的入口Activity点击返回键时便会看见如下提示:
首先我们思考一个问题,为什么会用户在点击了返回键之后会返回到之前的Activity呢?对,因为之前的Activity还存在于内存中,当用户点击返回键之后,系统会自动切换到上一个Activity。了解了这些问题就解决了,对于那些不需要用户重新返回的Activity,我们可以直接让Activity结束掉,这样用户再按返回键的时候便不会再跳到上一个Activity了。
如何结束?这个简单了,就一句。
一直想动手写写关于我怎么做Android程序的,可是总是打开之后不知道如何写下去,只能无奈的关闭。今天,我下定决心一定要写出来。
1.关于如何侦听返回键事件
不知道您有没有这样的体验,做了个程序,不想让用户一直点击返回键,不知不觉中退了出来。希望给用户一个更为有好的提示,留下那些其实并没有真的要退出的用户。好吧,今天我就来说说如何实现这一功能。首先明确一点,用户的一直点击的返回键,之后就会退出到桌面。那么,如何提示呢?很简单,在用户一顿返回键回到程序入口处(即程序的第一个Activity)给用户一个提示,您再按可就退出程序啦?那么如何在程序入口处增加这个提示呢?明显,我们要侦听用户的点击返回键这一事件。怎样才能做到侦听这一事件呢?代码如下:
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { dialog(); return true; } return true; }
重写了Activity的侦听方法,如果用户按的键值与返回键键值相同便执行显示dialog的操作。
当然你还要重写dialog方法:
protected void dialog() { AlertDialog.Builder builder = new Builder(AccoutList.this); builder.setMessage("确定要退出吗?"); builder.setTitle("提示"); builder.setPositiveButton("确认", new android.content.DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); //AccoutList.this.finish(); //System.exit(1); android.os.Process.killProcess(android.os.Process.myPid()); } }); builder.setNegativeButton("取消", new android.content.DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.create().show(); }
protected void dialog() {
这时候您再在程序的入口Activity点击返回键时便会看见如下提示:
2.怎么使程序从反复跳转的Activity中快速退出
有些时候我们很纠结,可能程序会在某两个Activity之间反复跳转,这时候如果用户想退出的时候点击返回键,只能按照相反的顺序依次重新跳转之后才能退出,这样的用户体验真的很差。如何解决这个问题呢?首先我们思考一个问题,为什么会用户在点击了返回键之后会返回到之前的Activity呢?对,因为之前的Activity还存在于内存中,当用户点击返回键之后,系统会自动切换到上一个Activity。了解了这些问题就解决了,对于那些不需要用户重新返回的Activity,我们可以直接让Activity结束掉,这样用户再按返回键的时候便不会再跳到上一个Activity了。
如何结束?这个简单了,就一句。
Activityname.this.finish();//Activityname就是您要结束的那个Activity类的名字
相关文章推荐
- Android开发安全问题之防止页面被其他程序覆盖监听,提示用户程序转移后台运行
- Android开发中使用SharedPreferences记录用户是否第一次启动程序
- Android开发中使用SharedPreferences记录用户是否第一次启动程序
- 菜鸟学习之Android Fragment 开发,快速提升用户体验的方法-布局规划之如何借鉴?
- Android开发学习笔记(三)——基于Eclipse开发环境的搭建及HelloAndroid示例程序的创建
- 菜鸟学习日志1.Android开发环境的搭建
- Android软件开发之在程序中时时获取logcat日志信息
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,
- 006-Android程序学习/微信公众平台开发/WordPress
- 【Android-Unity3D学习日志】Android-Unity3D开发环境搭建
- android移动应用开发学习笔记(三)——用户信息提交
- android 提示用户是否退出应用程序 提升用户体验
- Android程序关闭时提示:“### WARNING: SD Card files must be at least 9MB,...”
- Winform 关闭前提示是否关闭程序
- 黑马程序员之C#编程基础学习笔记:提示用户输入年龄,如果大于等于18,则告知用户可以查看,如果小于10岁,则告知不允许查看,如果大于等于10岁,则提示用户是否继续查看(yes,no),如果输入的是ye
- 基于WPF+XMPP的IM程序开发日志 之三:用户头像Avatar
- Eclipse开发Java和Android程序:配置文档提示和源代码查看功能(doc和source)
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- 开发一个用户喜欢的ABAP接口日志程序
- 开发Ios、Android程序快捷方式上显示的提示数字