Android编程模拟HOME键功能示例

 更新时间:2016年10月29日 12:04:13   作者:pku_android  
这篇文章主要介绍了Android编程模拟HOME键功能的方法,结合实例形式分析了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程序设计有所帮助。

相关文章

  • Android ExpandableListView实现下拉刷新和加载更多效果

    Android ExpandableListView实现下拉刷新和加载更多效果

    这篇文章主要为大家详细介绍了Android ExpandableListView实现下拉刷新和加载更多效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Android基于Intent实现Activity之间数据传递的方法

    Android基于Intent实现Activity之间数据传递的方法

    这篇文章主要介绍了Android基于Intent实现Activity之间数据传递的方法,结合实例形式分析了Activity之间数据传递操作的相关技巧,代码备有较为详尽的注释,需要的朋友可以参考下
    2016-11-11
  • Android自定义View实现简易画板功能

    Android自定义View实现简易画板功能

    这篇文章主要介绍了Android自定义View实现简易画板功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Android App中用Handler实现ViewPager页面的自动切换

    Android App中用Handler实现ViewPager页面的自动切换

    这篇文章主要介绍了Android App中用Handler实现ViewPager页面的自动切换的方法,类似于相册自动播放,主要是切换后要提示当前页面所在的位置,需要的朋友可以参考下
    2016-05-05
  • flutter实现更新弹窗内容例子(亲测有效)

    flutter实现更新弹窗内容例子(亲测有效)

    Flutter是一款移动应用程序SDK,包含框架、widget和工具,这篇文章给大家介绍flutter实现更新弹窗内容例子,亲测可以使用,需要的朋友参考下吧
    2021-04-04
  • Android之高效加载大图的方法示例

    Android之高效加载大图的方法示例

    这篇文章主要介绍了Android之高效加载大图的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • Flutter如何保证数据操作原子性详解

    Flutter如何保证数据操作原子性详解

    这篇文章主要给大家介绍了关于Flutter如何保证数据操作原子性的相关资料,文章通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • Android开发OkHttp执行流程源码分析

    Android开发OkHttp执行流程源码分析

    这篇文章主要为大家介绍了Android开发OkHttp执行流程源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Android 权限(permission)整理

    Android 权限(permission)整理

    本文主要介绍Android 权限的整理,在开发Android应用的时候,根据需求的不同,会用到不同的权限,这里整理了很多,有需要的同学可以参考下
    2016-07-07
  • android 之listview 优化方法

    android 之listview 优化方法

    这篇文章主要介绍了android 之listview 优化方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06

最新评论