想要使用Android Intent.ACTION_SEND快速分享内容。我写了一些代码,我可以显示自定义剪切对话框 但我想检查意图是否在Intent.ACTION_SEND中选中,例如,如果我从Gmail发送一些文件我想显示Toast消息(从Gmail发送的消息等) 这是我的来源
PackageManager pm = mActivity.getPackageManager();
Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("image/jpeg");
Uri photoUri = Uri.parse(path);
shareIntent.putExtra(Intent.EXTRA_TEXT, "Downloading your app");
shareIntent.putExtra(Intent.EXTRA_STREAM, photoUri);
List<ResolveInfo> activityList = pm.queryIntentActivities(shareIntent, 0);
for (final ResolveInfo app : activityList)
{
Log.e("Application pachage",app.activityInfo.name +"package");
if ((app.activityInfo.name).contains("Bluetooth"))
{
Log.e("Application pachage","mee" +"package");
Toast.makeText(mActivity,"Message sent from Bluetooth",Toast.LENGTH_SHORT).show();
final ActivityInfo activity = app.activityInfo;
final ComponentName name = new ComponentName(activity.applicationInfo.packageName, activity.name);
shareIntent.addCategory(Intent.CATEGORY_LAUNCHER);
shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
shareIntent.setComponent(name);
mActivity.startActivity(shareIntent);
break;
}
}
那么,是否可以这样做?
答案 0 :(得分:2)
仅在Android 5.1+上,如果您使用the three-parameter flavor of createChooser()
,则可以提供有关该选项通知的IntentSender
。
否则,您需要滚动自己的选择器式UI,然后使用用户的选择来制作明确的Intent
以将用户路由到所请求的活动。