Android 意图打开 Instagram 发布视图

Android Intent to open instagram posting view

如何在发布模式下打开 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 可以工作?

只有当您有媒体要在 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();
    }

您可以创建一个假媒体,但能够使用此方法。

经过一番研究后发现,与 'instagram://share' 的深度链接可以打开所需的视图。

只是为了扩展@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();