如何知道在android中发送的intent.ACTION\u中选择了哪个intent

如何知道在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

想要使用Android Intent.ACTION\u发送快速共享内容。我写了一些代码,我可以显示自定义剪切对话框 但我想检查intent.ACTION\u SEND中是否选中了intent,例如,如果我从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;
        }
    }
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,然后使用用户的选择来创建一个明确的
意图
,将用户路由到请求的活动