在Android中将视频背景素材和图像贴纸层发送到instagram的正确方法是什么?

时间:2019-03-18 14:15:34

标签: android facebook android-intent instagram

我想使用我的应用程序徽标作为贴纸,从我的应用程序向instagram分享视频。 I have been following this documentation,但结果是每次我尝试共享时,instagram都会打开,向我显示我的视频和贴纸,它冻结约一秒钟,然后贴纸消失,只留下我的视频而没有贴纸甚至在发布了所述视频后也可以看到。

I have also read this question,他们表示无法与视频共享标签是android的一个错误,但现在应该修复。 Im用于贴纸的图像为640x480,这是根据文档建议的尺寸,因此我也不认为图像尺寸也是如此。我只能以为我错了。

这是我的代码:

        Uri stickerAssetUri = Uri.parse("android.resource://" + R.class.getPackage().getName() + "/drawable/" + R.drawable.app_logo_sticker);
        File media = new File(localFilePath);
        Uri backgroundAssetUri = FileProvider.getUriForFile(getActivity(), getString(R.string.file_provider), media);

        Intent intent = new Intent("com.instagram.share.ADD_TO_STORY");
        intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
        intent.setDataAndType(backgroundAssetUri, "video/mp4");
        intent.putExtra("interactive_asset_uri", stickerAssetUri);

        getActivity().grantUriPermission(
                "com.instagram.android", stickerAssetUri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
        if (getActivity().getPackageManager().resolveActivity(intent, 0) != null) {
            getActivity().startActivityForResult(intent, 0);
        }

1 个答案:

答案 0 :(得分:1)

问题是我用于测试的视频文件。后台资产的最大持续时间为20秒,而根据视频视图,我正在使用的文件为20秒,但检索视频的实际持续时间后,我得到20333英里,这超出了文档中指定的限制。我使用了实际上符合条件的其他文件,并且可以正常工作。