Android-->最全的启动第三方APP,应用程序(按需启动,历史启动)

在很多地方都需要启动其他的程序, 调起第三方应用;

比如:桌面程序,必须的就是启动第三方应用了.

如果你很细心的话, 应该注意到一点: 在桌面程序中点击启动第三方应用, 如果程序还没启动过, 就会重新创建并启动, 但是…已经启动过的程序,则不会重新创建…为啥呢?

继续往下阅读:


第1种:
只需要第三方程序的包名就能启动. 超级简单,难就难在怎么获取包名!!!哈哈~

PackageManager packageManager = context.getPackageManager();
Intent intent= packageManager.getLaunchIntentForPackage(包名);

第2种:
通过类名启动.

Intent main = new Intent(context, 类名);
//如果当前的context没有任务栈,那么FLAG_ACTIVITY_NEW_TASK标志是必须加的, 否则会异常崩溃.
//比如,你使用广播的context启动Activity, 和 Application 中启动Activity, 这个标志就很重要.
main.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(main);

第3种: 在广播中,推荐使用这种启动方式.
隐式启动.

//ACTION_MAIN是隐藏启动的action, 你也可以自定义
Intent launcher = new Intent(Intent.ACTION_MAIN);
//CATEGORY_LAUNCHER有了这个,你的程序就会出现在桌面上
launcher.addCategory(Intent.CATEGORY_LAUNCHER);
//FLAG_ACTIVITY_RESET_TASK_IF_NEEDED 按需启动的关键,如果任务队列中已经存在,则重建程序
launcher.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_NEW_TASK);
launcher.setComponent(new ComponentName(context,类名));
context.startActivity(launcher);

至此: 文章就结束了,如有疑问: QQ群:274306954 欢迎您的加入.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值