您的位置:首页 > 其它

PackageManger.getLaunchIntentForPackage(String packageName)获取Intent对象启动Activity的坑

2017-02-09 20:27 507 查看
启动Activity的方法有很多种,其中通过PackageManger.getLaunchIntentForPackage(String packageName)获取Intent对象也可以启动Activity,代码如下:

Intent intent = getPackageManager().getLaunchIntentForPackage("com.android.vending");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
this.startActivity(intent);


不过退出应用时经常显示一下上次打开的应用界面,解决方法:给intent对象添加执行动作Action的附加信息(Category),代码如下:

Intent intent = getPackageManager().getLaunchIntentForPackage("com.android.vending");
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
AriesLauncher2.this.startActivity(intent);

退出后返回Launcher界面,也可以用CATEGORY_HOME(返回home界面)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐