我用下面的代碼,以我的應用程序選擇器排除的Facebook應用程序:當我使用的代碼移除如何從ACTION_SEND中排除特定應用程序意圖?
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剩餘只顯示,,如果你想在臉書和Twitter的共享數據,你應該使用Facebook和Twitter的SDK @ mrnobody – YUVRAJ
@ muruga5000是的,我已經使用了facebook sdk,因爲我想排除它在我的發送意圖的應用程序選擇器。但是,當我這樣做,Twitter也沒有顯示。我不需要一個單獨的份額的Twitter,所以我想在應用程序選擇器 – mrnobody
@mrnobody你想排除只有本地分享意圖正確的Facebook嗎? –