来自Android的Instagram在特定用户上打开,并为上传的图像添加标题

Ali*_*lin 27 android instagram

从我到目前为止看来,Android的Instagram非常有限.我的场景很简单:允许用户编辑图片,当他点击发送时:

Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/jpeg");
Run Code Online (Sandbox Code Playgroud)

然后queryIntentActivities()我搜索是否安装了Instagram.如果是,我发送要上传的图像的路径:

 share.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///" + path to myfile.png"));
 share.setClassName(resolveInfo.activityInfo.packageName, resolveInfo.activityInfo.name);
 share.putExtra(Intent.EXTRA_SUBJECT, "Sample subject");
 share.putExtra(Intent.EXTRA_TEXT, "Sample text");
 share.putExtra(Intent.EXTRA_TITLE, "Sample title");
Run Code Online (Sandbox Code Playgroud)

结果:使用Instagram应用程序上传图像(当然,如果我已登录),但我无法为其添加标题.没有putExtra任何影响.那么,有没有办法将标题添加为意图参数?

另一个问题是,是否可以打开填写了某个用户名的Instagram应用程序?

Ale*_*ado 8

看起来Instagram的Android应用程序忽略了EXTRA_TEXT,EXTRA_SUBJECT和EXTRA_TITLE,因此似乎无法在上传图像时添加标题.顺便说一下,您可以尝试不同的方法来检查它是否在每种情况下都忽略了那些额外的东西:

选项#1:更改MIME类型.

您将MIME类型设置为"image/jpeg".尝试使用"image/"或"/*"来检查他们的应用是否不会忽略这些额外内容.

share.setType("image/*");
Run Code Online (Sandbox Code Playgroud)

要么

share.setType("*/*");
Run Code Online (Sandbox Code Playgroud)

选项#2:

当您发送多种MIME类型(图像和文本)时,他们的应用可能需要ACTION_SEND_MULTIPLE而不是ACTION_SEND.

Intent share = new Intent(Intent.ACTION_SEND_MULTIPLE);
Run Code Online (Sandbox Code Playgroud)

选项#3:使用MediaStore.Images.Media.insertImage(ContentResolver cr, String imagePath, String name, String description)功能:

Intent share = new Intent(Intent.ACTION_SEND);
share.putExtra(Intent.EXTRA_STREAM, Uri.parse(MediaStore.Images.Media.insertImage(getContentResolver(), "file:///" + path to myfile.png", "Sample title", "Sample description")));
share.setType("image/jpeg");
share.setClassName(resolveInfo.activityInfo.packageName, resolveInfo.activityInfo.name);
Run Code Online (Sandbox Code Playgroud)

选项#4:将您的问题发布在他们的开发者论坛中,尽管有类似的问题仍未解决:

别忘了回来告诉我们他们的答案!