向PackageMangerService查找activity并启动
来源:互联网 发布:技嘉的显卡怎么样 知乎 编辑:程序博客网 时间:2024/05/20 20:57
先创建个intent,再通过inten.resolveActivityInfo向PackageManager查找对应activity的信息,PackageManager在被SystemServer创建初始化时会从系统中扫描当前系统已安装的所有apk信息并保存。
intent.resolveActivityInfo
如HOME启动:
创建一个CATEGORY_HOME类型的Intent,然后通过Intent.resolveActivityInfo函数向PackageManagerService查询Category类型为HOME的Activity。
intent.addCategory(Intent.CATEGORY_HOME); //intent.setClassName("com.xx.bootactivity", "com.xx.bootactivity.BootActivity"); ActivityInfo aInfo = intent.resolveActivityInfo(mContext.getPackageManager(), STOCK_PM_FLAGS); if (aInfo != null) { intent.setComponent(new ComponentName( aInfo.applicationInfo.packageName, aInfo.name)); // Don't do this if the home app is currently being // instrumented. ProcessRecord app = getProcessRecordLocked(aInfo.processName, aInfo.applicationInfo.uid); if (app == null || app.instrumentationClass == null) { intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_NEW_TASK); mMainStack.startActivityLocked(null, intent, null, null, 0, aInfo, null, null, 0, 0, 0, false, false, null); }
- 向PackageMangerService查找activity并启动
- Android Studio开发基础之启动Service,并通过从Activity向Service传递数据
- 启动Activity并返回结果
- fragment 向另一个activity传值并关闭当前activity
- 启动应用程序并向其发送击键
- Android 启动另外activity并返回结果
- startActivityForResult启动另一个Activity并返回结果
- 启动其他Activity并返回结果
- 启动其他的Activity并返回结果
- Android 启动其他Activity并返回结果
- 启动其它Activity并返回结果
- 监听系统开机广播并启动Activity
- 【Android】启动其他Activity并返回结果
- 启动另外一个activity,并返回结果
- EventBus 页面传值并启动Activity
- 启动其他Activity并返回结果
- 加载apk,并启动apk中activity
- 启动其他 Activity并返回数据
- 文本框输入内容进行动态提示(jquery部分)
- continue与break
- 集成产品开发(IPD)初探
- ubuntu 13.04amd64安装 wine 1.5 office2010
- (转载)C#中的object与System.Object
- 向PackageMangerService查找activity并启动
- 善用STL中的find方法,慎用vector的erase
- 基于项目管理的软件产品研发管理研究
- K&R学习笔记 第二章
- hdu 2602 (01背包)
- 5个人的年龄(递推)
- RUP和IPD流程的优缺点
- 海量数据处理专题(三)——Hash
- ACM输入输出规范&数根