问题描述
两台手机安装File go应用并建立连接。在其中一台手机上分享联系人,分享方式选择File go。当分享时会提示不支持这种格式文件。
需求: File go不支持分享联系人,请在分享方式中移除该选项。
注: File go为Google GMs包应用,可以在Google应用商店中下载
需求: File go不支持分享联系人,请在分享方式中移除该选项。
注: File go为Google GMs包应用,可以在Google应用商店中下载
解决方案
-这题的正解应该是反馈给Google,修改File Go, 使他支持分享联系人的数据格式-如果只要想要从ChooserActivity中移除File Go,可以采用下面的workaround solution, 黄色部分的修改,local 测试pass
\frameworks\base\core\java\com\android\internal\app\ResolverListController.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
@VisibleForTesting public List<ResolverActivity.ResolvedComponentInfo> getResolversForIntent( boolean shouldGetResolvedFilter, boolean shouldGetActivityMetadata, List<Intent> intents) { …… for (int j = totalSize - 1; j >= 0 ; j--) { ResolveInfo info = infos.get(j); #MTK ADD Start if ((info.activityInfo != null && !info.activityInfo.exported) || (info.activityInfo != null && info.activityInfo.packageName.equals("com.google.android.apps.nbu.files") && intent.getAction() != null && intent.getAction().equals(Intent.ACTION_SEND) && intent.getType() != null && intent.getType().equals("text/x-vcard"))) { #MTK ADD End infos.remove(j); } } |