源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Android launcher中模拟按home键的实现

  • 时间:2020-01-15 07:57 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android launcher中模拟按home键的实现
[b]Android launcher中模拟按home键的实现[/b]
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的最底端,需要特别注意。 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部