Android launcher中模拟按home键的实现

Android launcher中模拟按home键的实现

Intent mHomeIntent = new Intent(Intent.ACTION_MAIN); mHomeIntent.addCategory(Intent.CATEGORY_HOME); mHomeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);    getApplicationContext().startActivity(mHomeIntent);   // 要用getApplicationContext

Android中,如果想把stack中的某个Activity moveTaskToFront,可以定义一个BroadcastReceiver接收某种类型的Broadcast,并在onReceive中start该Activity。但是需要注意的是,startActivity前面的context参数问题。

android的activity中不能使用startAcitivity来将自己提前到stack的前面,所以这个onReceive中的startActivity的context不能是Activity。

另外如果该BroadcastReceiver是动态注册的(dynamic register),此时在onReceive中传入的context的参数就是这个Activity,也不能使用。

对付上面这个问题比较有效的办法,就是不要直接使用这个context,而是使用context.getApplicationContext(),这样就可以实现moveTaskToFront了。

与moveTaskToFront相对应的是moveTaskToBack,这个相对比较简单,Activity已经提供了moveTaskToBack方法。当时需要注意的是,一旦调用这个方法,该Activity所在的task将会被整体搬迁到stack的最底端,需要特别注意。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2024-09-20 13:45:22

Android launcher中模拟按home键的实现的相关文章

手机开发-Android 模拟器中按菜单Menu键弹出菜单项MenuItem,点击菜单项中的菜单项没反应!!!

问题描述 Android 模拟器中按菜单Menu键弹出菜单项MenuItem,点击菜单项中的菜单项没反应!!! public boolean onCreateOptionsMenu(Menu menu){ getMenuInflater().inflate(R.menu.main,menu); return true; } public boolean onOptionsItemSeleted(MenuItem item){ switch(item.getItemId()) { case R.i

在Linux中模拟击键和鼠标移动

在Linux中模拟击键和鼠标移动 `你是否曾经拥有一个梦 --你的计算机 可以自动为你干活? 或许,并非因为 你刚看了终结者. 然而,除此之外 脚本和任务自动化 是每个高级用户追寻的梦 如果今天 有许多的解决方案 可以满足这个目标 那么 有时候 就难以从那众多之中采撷那 简洁.聪明而又高效的一个 我 不能假装 是我自己发现了它 而与此同时 却偏爱着那个 整洁的软体--xdotool 其方法是如此直观 正如它作为X11自动化工具的表露 转换思想 xdotool可以通过读取文本文件 模拟击键的旋律

Android中Property模块的键值设置

Android中Property模块的键值设置 Prop模块是保存少量的全局共享信息,其保存的数据具有信息量少,跨进程共享数据等特性:每一条信息包含两个属性,键名和键名对应的键值,例如: ro.product.locale.language=en "Ro.product.locale.language"表示本产品本地语言,表示该条信息的名字,"en"表示该条信息的取值为英文,这样任何一个应用程序就知道本机使用的语言情况.在接口设计时也需要有两个参数,name和val

ANDROID应用中十大常见UX错误

  Android 开发者关系团队每天都会试用无数的 App 或者受到无数的开发者发来的请求评测的 App,在评测如此之多的应用之后,他们总结出了10个最常见的错误. Android 开发者关系团队每天都会试用无数的 App 或者受到无数的开发者发来的,请求评测的 App.在评测如此之多的应用之后,他们总结出了一些最常见的错误,并且在这期节目中为大家呈现出来. 在正式介绍这些错误之前,我想稍微提一句.这些错误是非常具有普遍意义的错误,也就是说,你用十个应用可能就会碰见这十个错误,甚至你会在一个应

Android编程中activity的完整生命周期实例详解_Android

本文实例分析了Android编程中activity的完整生命周期.分享给大家供大家参考,具体如下: android中 activity有自己的生命周期,对这些知识的学习可以帮助我们在今后写程序的时候,更好的理解其中遇到的一些错误.这篇文章很长,希望不要耽误大家的时间- 今天不会涉及太多关于activity栈的东西,主要说activity自身的生命周期 区分几个概念 1 Activity 官方解释为 "An Activity is an application component that pro

Android编程中的四大基本组件与生命周期详解_Android

本文实例讲述了Android编程中的四大基本组件与生命周期.分享给大家供大家参考,具体如下: Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一:了解四大基本组件 Activity : 应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应. Activity之间通过Intent进行通信.在Intent 的描述结构中,有两个最

Android开发中重要组件activity 生命周期以及启动模式分析

Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务. Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件. 在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应.Activity之间通过Intent进行通信. Activity生命周期 安卓活动由一个返回栈管理 安卓活动有四个状态 1.运行状态 当一个活动位

android开发中重要组件Activity详细学习教程

Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)之一.它间接继承自android.content.Context,因此,有些时候都直接把Activity实例当做Context的实例来使用. 如前面所提到的要在应用程序中使用Activity,必须在Android Manifest.xml中配置它. 新建一个Android工程,新建过程中勾选creat

Android编程中activity的完整生命周期实例详解

本文实例分析了Android编程中activity的完整生命周期.分享给大家供大家参考,具体如下: android中 activity有自己的生命周期,对这些知识的学习可以帮助我们在今后写程序的时候,更好的理解其中遇到的一些错误.这篇文章很长,希望不要耽误大家的时间- 今天不会涉及太多关于activity栈的东西,主要说activity自身的生命周期 区分几个概念 1 Activity 官方解释为 "An Activity is an application component that pro