如何知道在android中发送的intent.ACTION\u中选择了哪个intent
想要使用Android Intent.ACTION\u发送快速共享内容。我写了一些代码,我可以显示自定义剪切对话框 但我想检查intent.ACTION\u SEND中是否选中了intent,例如,如果我从Gmail发送了一些文件,我想显示Toast消息(从Gmail等发送的消息) 这是我的消息来源如何知道在android中发送的intent.ACTION\u中选择了哪个intent,android,android-intent,android-bluetooth,Android,Android Intent,Android Bluetooth,想要使用Android Intent.ACTION\u发送快速共享内容。我写了一些代码,我可以显示自定义剪切对话框 但我想检查intent.ACTION\u SEND中是否选中了intent,例如,如果我从Gmail发送了一些文件,我想显示Toast消息(从Gmail等发送的消息) 这是我的消息来源 PackageManager pm = mActivity.getPackageManager(); Intent shareIntent = new Intent(android.c
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;
}
}
PackageManager pm=mActivity.getPackageManager();
意向共享意向=新意向(android.content.Intent.ACTION\u SEND);
setType(“图像/jpeg”);
uriphotouri=Uri.parse(路径);
shareIntent.putExtra(Intent.EXTRA_文本,“下载你的应用程序”);
shareIntent.putExtra(Intent.EXTRA_流,photoUri);
List activityList=pm.querytentActivities(shareIntent,0);
对于(最终解决方案信息应用程序:activityList)
{
Log.e(“应用程序包”,app.activityInfo.name+“包”);
如果((app.activityInfo.name).包含(“蓝牙”))
{
Log.e(“应用程序包”、“mee”+“包”);
Toast.makeText(mActivity,“从蓝牙发送的消息”,Toast.LENGTH_SHORT.show();
最终活动信息活动=app.ActivityInfo;
最终组件名称=新组件名称(activity.applicationInfo.packageName,activity.name);
shareIntent.addCategory(Intent.CATEGORY_启动器);
shareIntent.setFlags(Intent.FLAG_活动_新任务| Intent.FLAG_活动_重置_任务_,如果需要);
setComponent(名称);
mActivity.startActivity(共享意向);
打破
}
}
那么,有可能做到这一点吗?只有在Android 5.1+上,如果您使用,您可以提供一个
IntentSender
,通知您选择
否则,您需要滚动您自己的选择器样式的UI,然后使用用户的选择来创建一个明确的意图
,将用户路由到请求的活动