如何在Instagram上分享文字

时间:2015-09-29 04:35:14

标签: android android-intent share instagram

我需要分享文字到Instagram,但我不能使用android

intent.putExtra(Intent.EXTRA_TEXT,"MY TEXT");
什么都没发生。请帮我做这个

4 个答案:

答案 0 :(得分:5)

Instagram已停止接受预先填充的标题,以提高系统内容的质量。看这篇文章。

http://developers.instagram.com/post/125972775561/removing-pre-filled-captions-from-mobile-sharing

答案 1 :(得分:3)

与任何社交应用共享文字的通用代码:

第1步:获取您要分享的应用包名称:

要获取软件包名称,请在Windows中使用adb logcat -s ActivityManager此命令并运行应用程序,例如您想要Instagram的软件包名称,以便运行以上命令并打开Instagram应用程序,您将获得日志中的软件包名称 注意:上面列出的adb命令适用于Windows。 对于ubntu,您可以使用adb logcat | grep "ActivityManager"

第2步:获得以下app的软件包名称是用于共享文本的通用代码。

 try {
                    Intent shareOnAppIntent = new Intent();
                    shareOnAppIntent .setAction(Intent.ACTION_SEND);
                    shareOnAppIntent .putExtra(Intent.EXTRA_TEXT, getResources().getString(R.string.share_body));
                    shareOnAppIntent .setType("text/plain");
                    shareOnAppIntent .setPackage(PACKAGE_NAME_OF_APP);
                    startActivity(shareOnAppIntent );
                } catch (Exception e) {
                    e.printStackTrace();
                    Toast.makeText(ShareAppActivity.this, "APP is not installed", Toast.LENGTH_LONG).show();
                }

答案 2 :(得分:1)

这是在Instagram中分享图像和文字的意图代码。

Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("image/*");
shareIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shareIntent.putExtra(Intent.EXTRA_STREAM,uri);
shareIntent.putExtra(Intent.EXTRA_TEXT,"YOUR TEXT TO SHARE IN INSTAGRAM");
shareIntent.setPackage("com.instagram.android");
return shareIntent;

答案 3 :(得分:1)

不幸的是,Instagram不会从意图中接收文本。它只接收EXTRA_STREAM对象。您只能共享格式 jpeg,gif,png 的图像。由于他们没有提供任何SDK,您无法以任何其他方式共享。

请查看Instagram开发人员文档here他们明确提到接受Intent参数为EXTRA_STREAM

这是在Instagram上分享照片的代码

    String type = "image/*";
String filename = "/myPhoto.jpg";
String mediaPath = Environment.getExternalStorageDirectory() + filename;

createInstagramIntent(type, mediaPath);

private void createInstagramIntent(String type, String mediaPath){

    // Create the new Intent using the 'Send' action.
    Intent share = new Intent(Intent.ACTION_SEND);

    // Set the MIME type
    share.setType(type);

    // Create the URI from the media
    File media = new File(mediaPath);
    Uri uri = Uri.fromFile(media);

    // Add the URI to the Intent.
    share.putExtra(Intent.EXTRA_STREAM, uri);

    // Broadcast the Intent.
    startActivity(Intent.createChooser(share, "Share to"));
}