【发布时间】:2016-07-13 08:08:50
【问题描述】:
我已使用以下代码从我的应用选择器中排除 facebook 应用:
List<Intent> targetedShareIntents = new ArrayList<Intent>();
Intent intent = new Intent(android.content.Intent.ACTION_SEND);
intent.setType("image/*");
List<ResolveInfo> resInfo = getActivity().getPackageManager().queryIntentActivities(intent, 0);
if (!resInfo.isEmpty()) {
for (ResolveInfo resolveInfo : resInfo) {
String packageName = resolveInfo.activityInfo.packageName;
Intent targetedShareIntent = new Intent(android.content.Intent.ACTION_SEND);
targetedShareIntent.setType("image/*");
targetedShareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "tooter.nl");
if (!TextUtils.equals(packageName, "com.facebook.katana")) {
targetedShareIntent.putExtra(android.content.Intent.EXTRA_TEXT, st);
targetedShareIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
targetedShareIntent.setPackage(packageName);
targetedShareIntents.add(targetedShareIntent);
}
}
Intent chooserIntent = Intent.createChooser(targetedShareIntents.remove(0), "Select app to share");
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetedShareIntents.toArray(new Parcelable[targetedShareIntents.size()]));
startActivity(chooserIntent);
}
当我使用该代码时,Facebook 应用程序已被删除。但可悲的是,甚至 Twitter 应用程序也被从应用程序选择器中删除,而其他不必要的应用程序(如“Android 系统”)也列在了选择器上。我该怎么办 ?这段代码有什么遗漏或错误吗?
【问题讨论】:
-
除了facebook和twitter只显示,如果你想在facebook和twitter上分享数据你应该使用Facebook和Twitter SDK@mrnobody
-
@muruga5000 是的,我使用了 facebook sdk,因此我想在我的发送意图的应用程序选择器中排除它。然而,当我这样做时,推特也没有显示。我不需要单独的 twitter 共享,所以我想在应用选择器中使用它
-
@mrnobody 你想从本机共享意图中仅排除 facebook 吗?
-
@RaguSwaminathan 是的
-
你要分享图片还是文字