首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将解析信息添加到Robolectric包管理器中

将解析信息添加到Robolectric包管理器中
EN

Stack Overflow用户
提问于 2014-02-07 21:52:46
回答 2查看 4.2K关注 0票数 6

这个问题与我想做的非常相似:How can I shadow the PackageManager with Robolectric

但是,所有答案都依赖于ShadowApplication.setPackageManager()。在2.2中,这种方法似乎不再存在:http://robolectric.org/javadoc/org/robolectric/shadows/ShadowApplication.html

我试图抓取包管理器并添加一个解决方案信息:

代码语言:javascript
复制
    RobolectricPackageManager packageManager = (RobolectricPackageManager) Robolectric.application.getPackageManager();
    Intent intent = new Intent(Intent.ACTION_MAIN,null);
    intent.addCategory(Intent.CATEGORY_HOME);
    ResolveInfo ri = new ResolveInfo();
    ActivityInfo ai = new ActivityInfo();
    ai.packageName = "com.fun.test";
    ri.activityInfo = ai;
    ri.isDefault = true;
    packageManager.addResolveInfoForIntent(intent, ri);

但没有结果。有人知道怎么做吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-18 17:57:20

Intent.resolveActivity期望ResolveInfo具有以下内容:

代码语言:javascript
复制
if (info != null) {
    return new ComponentName(
            info.activityInfo.applicationInfo.packageName,
            info.activityInfo.name);
}

在此基础上,我在Robolectro2.3中做了以下工作:

代码语言:javascript
复制
RobolectricPackageManager packageManager = (RobolectricPackageManager) shadowOf(Robolectric.application).getPackageManager();
Intent intent = ... //create an Intent like the one you want to resolve

ResolveInfo info = new ResolveInfo();
info.isDefault = true;

ApplicationInfo applicationInfo = new ApplicationInfo();
applicationInfo.packageName = "com.example";
info.activityInfo = new ActivityInfo();
info.activityInfo.applicationInfo = applicationInfo;
info.activityInfo.name = "Example";

packageManager.addResolveInfoForIntent(intent, info);
票数 6
EN

Stack Overflow用户

发布于 2014-02-25 09:04:49

您应该将解析信息添加为列表:

代码语言:javascript
复制
packageManager.addResolveInfoForIntent(intent, Collections.singletonsList(ri));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21638455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档