Android launcher中模拟按home键的实现
2017-05-15 14:20
597 查看
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的最底端,需要特别注意。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
您可能感兴趣的文章:
- 适配android7.0获取文件的Uri的方法
- Android7.0 工具类:DiffUtil详解
- Android7.0 MessageQueue详解
- Android7.0上某些PopuWindow出现显示位置不正确问题的解决方法
- Android开发实现Launcher3应用列表修改透明背景的方法
- Android开发中Launcher3常见默认配置修改方法总结
- Android6.0 Launcher2应用解析
- Android的Launcher启动器中添加快捷方式及小部件实例
- Android实现向Launcher添加快捷方式的方法
- Android7.0开发实现Launcher3去掉应用抽屉的方法详解
相关文章推荐
- 在Android中替换掉原有的HOME,实现自主的控制Launcher
- Android 如何在自己的应用中模拟Home键
- android 模拟器 实现 打电话 发短信的模拟状态
- android模拟打电话程序实现
- 个人安卓学习笔记---Android模拟打电话程序实现
- android模拟拨打电话的实现
- Android HomeScreen Launcher解析(一)
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析
- Android功能总结:仿照Launcher的Workspace实现左右滑动切换
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析
- Android自动化测试初探(四): 模拟键盘鼠标事件(Socket+Instrumentation实现)
- Android 将Back 模拟或者转换为按Home键一样的效果
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析(1)
- Android模拟 HTTP multipart/form-data 请求协议信息实现图片上传
- 说说Android桌面(Launcher应用)背后的故事(六)——研究Launcher而实现的附属品(可以拖拽的ListView)
- android 模拟器 实现 打电话 发短信的模拟状态
- Android自动化测试初探(五): 再述模拟键盘鼠标事件(adb shell 实现)
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析
- Android模拟打电话应用程序实现分析
- Android自动化测试初探(五): 再述模拟键盘鼠标事件(adb shell 实现)