快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

安卓应用退出的实现-创新互联

在智能手机飞速发展的今天,安卓有着举足轻重的地位。虚拟按键的设置,也大大提高了用户体验。虚拟back键的设置,也取代了物理键盘的使用。不过凡事总有利弊,虚拟键的设计虽然提高了用户体验,但也存在按错的误操作。在进入应用的第一个界面,点击back键,就可能会导致程序退出了。在这里,就拿常用app对此情况做出的优化来说好了。

创新互联公司长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为加格达奇企业提供专业的网站制作、网站设计加格达奇网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

当在进入应用的第一个界面上,点击了虚拟按键back时,一般有两种比较常用的方式来进行提示

1)用弹出对话框显示,点击确定实现退出,点击取消就不退出

2)用Toast显示:“再按一次back键退出程序”,马上点击实现退出程序;如果过段时间再点击back键的话,又会显示“再按一次back键退出程序”

对于第一种退出方式:

1)重写onKeyDown方法,监听back点击事件

2) 设置弹出对话

protected Dialog onCreateDialog(int id)

{

return new AlertDialog.Builder(this).setTitle("退出")

.setMessage("是否退出?")

.setPositiveButton("确定", new DialogInterface.OnClickListener()

{

@Override

public void onClick(DialogInterface dialog, int which)

{

finish();

}

}).setNegativeButton("取消", null).create();

}

3)实现showDialog(id);方法;其中id为int类型,用户区分不同的对话框,这里只有一个对话框,所以这个id随意。

对于第二种方法:

我们这边先来分析一下:点击back键,toast提示“再按一次back键退出程序”,马上再按back键则实现退出,如果过了一段时间再按back键则又是用toast提示“再按一次back键退出程序”。所以我们可以设定一个标示,用于判断用户是不是第一次点击back键,并且这个标示也给它设定一个时效性,只有在这个时间范围内再点击才会实现退出,超出这个时间再点击就弹出toast进行再次提示。具体方法如下:

1) 设定一个全局变量的标示:private boolean hasPressedBack;

2)重写onKeyDown方法,监听back点击事件

3) 为这个全局变量标示设定时效性,代码如下:

public boolean onKeyDown(int keyCode, KeyEvent event)

{

switch (keyCode)

{

case KeyEvent.KEYCODE_BACK:

if (!hasPressedBack)

{

// 第一次按

hasPressedBack = true;

Toast.makeText(MainActivity.this, "再按一次back退出", Toast.LENGTH_SHORT).show();

mHandler.postDelayed(new Runnable()

{

@Override

public void run()

{

hasPressedBack = false;

}

}, 3000);//用来设定全局变量标示的时效性

//这边是3秒后失效

return true;

}

break;

default:

break;

}

return super.onKeyDown(keyCode, event);

}

其实这样实现的退出并不是真正的退出,它只是一个假象,一个给人感觉它已经关闭了,并且不会再运行的假象,不会再占手机或是设备内存的假象。

其实这是因为智能手机的用户都是从PC机过渡而来的,都觉得应用只有关闭了才不会再占用资源,所以android为了迎合人们的使用习惯,才设置的这个假象。要想实现真正的退出,需要在手机进程中将该应用对应的进程关掉,这才是真正实现了退出。

附件:http://down.51cto.com/data/2363614

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:安卓应用退出的实现-创新互联
文章URL:http://6mz.cn/article/dcdhoh.html

其他资讯