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

来源:互联网 发布:js日期插件实现 编辑:程序博客网 时间:2024/06/05 20:27

启动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界面)

0 0
原创粉丝点击