Я пытаюсь поделиться видео, записанным из моего приложения, в историю в Instagram. Я не использую этот API: https://developers.facebook.com/docs/instagram/sharing-to-stories/
Я использую этот метод, который отлично работает при обмене изображениями, а для обмена видео он работает только при совместном использовании канала , но , а не при публикации истории . Другими словами, 3 из 4 функций, которые я пытаюсь использовать, работают.
private void shareFileToInstagram(Uri uri, boolean isVideo) {
StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
StrictMode.setVmPolicy(builder.build());
Intent feedIntent = new Intent(Intent.ACTION_SEND);
feedIntent.setType(isVideo ? "video/*" : "image/*");
feedIntent.putExtra(Intent.EXTRA_STREAM, uri);
feedIntent.setPackage("com.instagram.android");
Intent storiesIntent = new Intent("com.instagram.share.ADD_TO_STORY");
storiesIntent.setDataAndType(uri, isVideo ? "mp4" : "jpg");
storiesIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
storiesIntent.setPackage("com.instagram.android");
this.grantUriPermission(
"com.instagram.android", uri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
Intent chooserIntent = Intent.createChooser(feedIntent, "Compartir");
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] {storiesIntent});
startActivity(chooserIntent);
}
Когда я перехожу к опции обмена в истории, мое приложение просто ничего не делает. В журнале я видел эту ошибку, но не мог ее исправить:
W/ChooserActivity: No activity found for Intent { act=com.instagram.share.ADD_TO_STORY dat=/storage/emulated/0/Video/201952172025.mp4 typ=mp4 flg=0x10000001 pkg=com.instagram.android }