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的最底端,需要特别注意。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关文章
Android ListView的OnItemClickListener详解
这篇文章主要介绍了Android ListView的OnItemClickListener详解的相关资料,涉及到OnItemClickListener的position和id参数做详细的解释的知识点,非常不错,具有参考借鉴价值,需要的朋友参考下2016-07-07Android持久化技术之SharedPreferences存储实例详解
这篇文章主要介绍了Android持久化技术之SharedPreferences存储,结合实例形式较为详细的分析了SharedPreferences存储的原理、应用及具体实现方法,需要的朋友可以参考下2016-01-01利用SpannableString和ImageSpan在textview中插入图片的方法
这篇文章主要为大家详细介绍了利用SpannableString和ImageSpan在textview中插入图片的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-11-11
最新评论