我需要分享文字到Instagram,但我不能使用android
intent.putExtra(Intent.EXTRA_TEXT,"MY TEXT");
什么都没发生。请帮我做这个
答案 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"));
}