Android意图选择器不能有空的意图目标
为什么我需要:Android意图选择器不能有空的意图目标,android,android-intent,android-intent-chooser,Android,Android Intent,Android Intent Chooser,为什么我需要:targetedShareContents.remove(0)这是否意味着从targetedShareContents中删除了意图 我已经看到这段代码被大量使用。我不明白为什么我们需要使用删除。ThxtargetedShareContents.remove(0)表示在删除第一个元素后抛出列表。。。因为第一个目标是共享内容 软件包名为com.google.android.apps.docs,因此不需要文档应用程序。。因此,删除不必要的应用程序更好。因为用户不想向其发送数据。。。这就是
targetedShareContents.remove(0)
这是否意味着从targetedShareContents中删除了意图
我已经看到这段代码被大量使用。我不明白为什么我们需要使用删除。Thx
targetedShareContents.remove(0)
表示在删除第一个元素后抛出列表。。。因为第一个目标是共享内容
软件包名为com.google.android.apps.docs,因此不需要文档应用程序。。因此,删除不必要的应用程序更好。因为用户不想向其发送数据。。。这就是从列表中删除TargetedShareContent的原因。。。您可以记录并检查包名
Intent shareIntent=newintent(android.content.Intent.ACTION\u SEND);
shareIntent.setType(“文本/普通”);
List resInfo=getPackageManager().queryInputActivities(shareIntent,0);
Log.e(“package”,resInfo.get(0.activityInfo.packageName);
感谢您的评论。如果我不想从TargetedShareContent中删除任何内容,我应该使用什么?我知道我已经尝试添加了一个只有action_send as类型的意图,但是在Android 5上不起作用。我在“通过对话共享”中没有看到任何内容。我无法理解您。。在编辑问题后,你能正确解释你的问题吗如果你不想从列表中删除任何内容,你可以使用Intent-chooserecontent=Intent.createChooser(targetedShareContents,“选择要共享的应用程序”)代码>如果您得到了答案,请更新…我无法使用Intent chooserentent=Intent.createChooser(targetedShareIntents,“选择要共享的应用”);因为targetShareIntents是一个列表
List<Intent> targetedShareIntents = new ArrayList<Intent>();
Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("text/plain");
List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(shareIntent, 0);
if (!resInfo.isEmpty()) {
for (ResolveInfo resolveInfo : resInfo) {
String packageName = resolveInfo.activityInfo.packageName;
Intent targetedShareIntent = new Intent(android.content.Intent.ACTION_SEND);
targetedShareIntent.setType("text/plain");
targetedShareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "subject to be shared");
if (TextUtils.equals(packageName, "com.facebook.katana")) {
targetedShareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "http://link-to-be-shared.com");
} else {
targetedShareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "text message to shared");
}
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);
}
Intent chooserIntent = Intent.createChooser(targetedShareIntents.remove(0), "Select app to share");
Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("text/plain");
List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(shareIntent, 0);
Log.e("package",resInfo.get(0).activityInfo.packageName);