2012-11-01 15 views
1

请帮忙!我想分享我的照片到Instagram。我使用Intent进行分享,但我并不需要Share中的所有列表,例如 - Facebook,Instagram,Gmail,Bluetoth等。我只需要Instagram。我只想通过onclickListener将照片分享到Instagram。怎么办?谢谢。Android Instagram

+0

呼叫Instagram的包名称为意图直接所以不会通过对话框显示份额。 –

+0

请给我看代码,如何调用instagram包,因为我没有找到这个。我喜欢这样:'Intent i = new Intent(Intent.ACTION_SEND); i.setType(“image/jpeg”); i.putExtra(Intent.EXTRA_STREAM,Uri.parse(“file:///sdcard/Path/To/Image.jpg”)); startActivity(Intent.createChooser(i,“Share Image”));' – Ljudmila

+0

您可以在创建意图时设置包名称。请记住,如果目标用户没有Instagram应用,请将您的意图放在try catch子句中 – hadi

回答

6

很久以前问过了。但明确的答案不在这里。这就是为什么,我也想回答。

我已经使用下面的代码,它的工作。它直接重定向到裁剪instagram的屏幕。 (当然,Instagram的应用程序必须安装在设备上。)

... 
Intent intent = createInstagramIntent("file://" + filePath); 
startActivity(intent); 
... 

private Intent createInstagramIntent(String uriString) { 
    Intent shareIntent = new Intent(Intent.ACTION_SEND); 
    shareIntent.setType("image/*"); 
    shareIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(uriString)); 
    shareIntent.setPackage("com.instagram.android"); 
    return shareIntent; 
} 
+0

也许添加检查是否安装了Instagram的? (通过PackageManager),否则可能会崩溃。 – Talha

-1

创建您调用instagram的自定义共享屏幕。

+0

请向我展示示例代码,如何调用instagram包,因为我没有找到它。我喜欢这样:'Intent i = new Intent(Intent.ACTION_SEND); i.setType( “图像/ JPEG”); i.putExtra(Intent.EXTRA_STREAM,Uri.parse(“file:///sdcard/Path/To/Image.jpg”)); startActivity(Intent.createChooser(i,“Share Image”));' – Ljudmila

+1

用instagram按钮创建对话框视图。看到这篇文章:http://megadarja.blogspot.com/2011/10/appchooser.html – Yahor10

+0

但我不需要与选择对话框。我需要通过单击ImageButton后图片到应用程序insragram – Ljudmila