Android编程模拟HOME键功能示例
本文实例讲述了android编程模拟home键功能的方法。分享给大家供大家参考,具体如下:
做一个类似于qq按返回键并不销毁activity的方法(即不调用activity.finish(),系统不调用 ondestroy),而是类似于按home键,让activity类似于“暂停”(即只调用onpause,ondestroy)。
代码如下:
public boolean onkeydown(int keycode, keyevent event) { if(keycode == keyevent.keycode_back){ intent intent = new intent(intent.action_main); intent.setflags(intent.flag_activity_new_task);// 注意 intent.addcategory(intent.category_home); this.startactivity(intent); return true; } return super.onkeydown(keycode, event); }
特别注意:intent.setflags(intent.flag_activity_new_task); 这句,一定要加上,因为activity 的 launchmode 默认是以 standard 执行的,如果不添加这个标记则会创建新的activity 并放在与当前activity相同的task中。以下是 flag_activity_new_task 的说明 flag_activity_new_task标记
当传递给startactivity()的intent对象包含flag_activity_new_task标记时,系统会为需要启动的 activity寻找与当前activity不同的task。如果要启动的activity的affinity属性与当前所有的task的 affinity属性都不相同,系统会新建一个带那个affinity属性的task,并将要启动的activity压到新建的task栈中;否则将 activity压入那个affinity属性相同的栈中。
更多关于android相关内容感兴趣的读者可查看本站专题:《android开发入门与进阶教程》、《android调试技巧与常见问题解决方法汇总》、《android多媒体操作技巧汇总(音频,视频,录音等)》、《android基本组件用法总结》、《android视图view技巧总结》、《android布局layout技巧总结》及《android控件用法总结》
希望本文所述对大家android程序设计有所帮助。
下一篇: python和ruby,我选谁?