Android5.0隐式启动服务
来源:互联网 发布:python学多久 编辑:程序博客网 时间:2024/06/05 05:41
Android5.0隐式启动服务
在Android 5.0中系统禁止我们通过隐式意图启动service,如果通过隐式意图启动会报异常,所以需要通过显式意图启动service,如果要被启动的服务在本应用中,还可以通过显式意图启动,但是如果是要启动其他应用的service,那么如何通过显式意图来启动呢?下面介绍一个方法用于通过显示意图启动其他应用中的service
public static Intent getExplicitIntent(Context context, Intent implicitIntent) { PackageManager pm = context.getPackageManager(); // 返回给定条件的所有ResolveInfo对象(本质上是Service) List<ResolveInfo> resolveInfo = pm.queryIntentServices(implicitIntent, 0); // 确保只有一个service匹配 if (resolveInfo == null || resolveInfo.size() != 1) { return null; } //获取component信息并创建ComponentName ResolveInfo serviceInfo = resolveInfo.get(0); //获取Service所在的包名 String packageName = serviceInfo.serviceInfo.packageName; //获取Service的名称 String className = serviceInfo.serviceInfo.name; // 通过包名和service的类名创建component //ComponentName用于指定打开其他应用的activity和service ComponentName component = new ComponentName(packageName, className); // 创建新的intent Intent explicitIntent = new Intent(implicitIntent); // 为intent设置指定的组件 explicitIntent.setComponent(component); return explicitIntent; }
通过该方法可以实现显式意图启动其他应用中的service
0 0
- Android5.0隐式启动服务
- Android5.0隐式启动服务
- Android5.0后服务禁止使用隐式启动
- Android5.0以后隐式启动ServiceBug
- android5.0之后不允许使用隐式Intent启动Service
- [Android5.1]开机服务启动顺序
- Android5.0启动Service问题
- Android5.0启动Service注意事项
- Android5.0 Alarm服务简单分析
- Android5.0 输入系统(一)————InputManagerService服务及相关对象的创建与启动
- Android5.0 Lollipop Setting启动分析
- 一张图说明android5.0服务变动情况
- Android5.0,Android4.0启动拨号界面方法
- Genymotion无法启动Android5.0及5.1模拟器的解决方案
- Android5.0 Framework - Activity启动过程(一)
- Android5.0 Framework - Activity启动过程(二)
- 点击桌面图标Activity启动流程分析 - 基于Android5.0源码
- Android5.0 源码分析--- Launcher启动应用的过程
- 电源优化JobScheduler看情况执行服务
- [AHK]阿尔伯特●爱因斯坦数学题
- Java Script初探
- poj3026——Borg Maze(BFS+最小生成树)
- EE-Club 刻意练习有效反馈
- Android5.0隐式启动服务
- 数据结构与算法分析笔记与总结(java实现)--链表17:无环单链表判断是否相交问题
- 源码编译安装nginx
- LightOJ 1049 One Way Roads
- servlet与jsp的关系
- 数据结构与算法分析笔记与总结(java实现)--链表18:有环单链表判断是否相交问题
- C语言——系统函数和库函数的区别
- 【BZOJ 1475】方格取数 最大点权独立集
- 我的第一次