Android意图打开Instagram发布视图

Posted

技术标签:

【中文标题】Android意图打开Instagram发布视图【英文标题】:Android Intent to open instagram posting view 【发布时间】:2020-09-08 12:07:49 【问题描述】:

如何在发布模式下打开 Instagram 应用程序(所以我们在 Instagram 应用程序的主屏幕上单击加号后获得的视图相同)?我见过这样做的 android 应用程序,但是无法找到解释如何实现它的信息。

该代码适用于打开主视图:

Uri uri = Uri.parse("http://instagram.com/");
Intent likeIng = new Intent(Intent.ACTION_VIEW, uri);
likeIng.setPackage("com.instagram.android");
startActivity(likeIng);

也许还有一些其他的 uri 可以工作?

【问题讨论】:

***.com/a/23511180/10182897阅读以下答案 【参考方案1】:

经过一番研究后发现,使用“instagram://share”进行深度链接可以打开所需的视图。

【讨论】:

【参考方案2】:

只有在 Instagram 上有要分享的媒体时,您才能这样做:

try 
        String type = "image/*";
        String filename = "/myPhoto.jpg";
        String mediaPath = Environment.getExternalStorageDirectory() + filename;
        Intent share = new Intent(Intent.ACTION_SEND);
        share.setPackage("com.instagram.android");
        share.setType(type);
        File media = new File(mediaPath);
        Uri uri = null;
        share.putExtra(Intent.EXTRA_STREAM, uri);
        startActivity(share);
     catch (Exception e) 
        e.printStackTrace();
    

你可以创建一个假媒体来使用这个方法。

【讨论】:

【参考方案3】:

只是为了扩展@Paavo 答案以在代码中显示答案。

Uri uri = Uri.parse("instagram://share");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setPackage("com.instagram.android");

//Check that the user can open the intent, meaning they have the Instagram app installed
if (getPackageManager().resolveActivity(intent, 0) != null)
    startActivity(intent);
else //User doesn't have app installed, handle however you want
    throw new Resources.NotFoundException();

【讨论】:

以上是关于Android意图打开Instagram发布视图的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 中分享 instagram 的意图

使用android意图将带有图像的文本共享到instagram

使用意图的 Android 6.0 instagram 图像共享不起作用

实施故事回复,如 Instagram Android

无法使用 instagram sdk 意图分享故事

android中相机捕获的隐式意图