我想使用我的应用徽标作为贴纸,从我的应用分享视频到Instagram。 I have been following this documentation,但结果是每次我尝试分享,Instagram打开,向我显示我的视频和贴纸,它冻结了大约一秒钟,然后贴纸消失,只留下我的视频,没有贴纸,甚至在发布视频之后。
I have also read this question,他们说不能与视频共享贴纸是android的错误,但它现在应该修复。用于贴纸的图像是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);
}
问题是我用于测试的视频文件。后台资产的最长持续时间是20秒,而根据视频查看我使用的文件是20秒,检索视频的实际持续时间给了我20333毫秒,超过了文档中指定的限制。我使用了一个实际符合标准的不同文件,它可以工作。