Android 无法使用ACTION\u SEND intent将图像共享到微信和线路

Android 无法使用ACTION\u SEND intent将图像共享到微信和线路,android,android-intent,wechat,Android,Android Intent,Wechat,我的代码如下- Intent prototype = new Intent(Intent.ACTION_SEND); prototype.setData(uri); // uri is of the image file prototype.setType(image/*); prototype.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); prototype.putExtra(Intent.EXTRA_STREAM, uri)

我的代码如下-

 Intent prototype = new Intent(Intent.ACTION_SEND);
 prototype.setData(uri);   // uri is of the image file
 prototype.setType(image/*);
 prototype.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

 prototype.putExtra(Intent.EXTRA_STREAM, uri); 

List<ResolveInfo> resInfo = pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
       if (!resInfo.isEmpty()) 
       { 
           for (ResolveInfo resolveInfo : resInfo) 
            {
                if (resolveInfo.activityInfo == null)  
                {
                    continue; 
                }

                // Retrieve the package name and class name to populate the chooser intent
                Intent intent = (Intent) prototype.clone();
                String packageName = resolveInfo.activityInfo.packageName;
                intent.setPackage(packageName); 
                intent.setClassName(packageName, resolveInfo.activityInfo.name); 
            targetedIntents.add(intent);
        }}
            Intent chooserIntent = Intent.createChooser(topIntents.remove(targetedIntents.size() - 1), chooserTitle); 
                chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetedIntents.toArray(new Parcelable[] {})); 
当我从选择器中选择微信和在线应用程序时,什么都没有发生。Line应用程序只显示一个无法共享的错误。微信没有给出任何消息。使用我的代码在Whatsapp和社交网站上共享效果很好


我们可以在微信上和画廊在线分享图片。这是怎么回事?这不是发送操作意图吗?

我遇到了相同的问题,因此我实施了以下操作:

shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_SUBJECT,sharesubject);
shareIntent.putExtra(Intent.EXTRA_TEXT, sharetext);
shareIntent.setType("image/jpeg");
shareIntent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(destination));
shareIntent.setPackage(info.activityInfo.packageName);
//destination是包含要共享的映像的文件的名称


注意:这仅适用于api 23及以下版本。

我的代码如下-不,不是,因为该代码将不会编译。这是怎么回事行动!。你的Uri是什么?由于您使用的是FLAG_GRANT_READ_URI_权限,您是使用FileProvider还是实现自己的流媒体内容提供商?您好@Commonware,我正在实现自己的内容提供商。因为我的代码是专有的,所以我不能完整地发布它。Uri的形式如下content://.... 图像存储在我的应用程序目录中。奇怪的是,我的代码在Hangouts、Whatsapp、FB messenger上运行,但在微信和Line上运行失败。我在代码中也使用了ACTION\u SEND intent,但共享对我不起作用而对Gallery起作用的原因是什么。您可以尝试在ContentProvider中加入查询方法,或者尝试实现一些写得不好的流媒体内容提供商客户端。上面提到的模式对我不起作用。我的游标已具有列名MediaStore.MediaColumns.DATA,即_DATA。若我将文件存储在SD卡中,那个么图像就可以在并没有任何问题的情况下共享。但出于隐私原因,我想将其存储在我的应用程序文件夹中。有什么消息吗?到目前为止,line和微信都在与FileProvider合作