Как правильно отправить фоновое видео и слой с наклейкой изображения в Instagram в Android? - PullRequest
0 голосов
/ 18 марта 2019

Я хочу поделиться видео в Instagram из своего приложения, используя логотип приложения в качестве стикера. Я следовал этой документации , но в результате каждый раз, когда я пытаюсь поделиться, открывается instagram, показывает мое видео и стикер, он зависает примерно на секунду, а затем стикер исчезает, оставляя толькоменя с моим видео и без наклейки, чтобы увидеть, даже после публикации указанного видео.

Я также прочитал этот вопрос , где они заявили, что не могут поделиться наклейкой с видеобыла ошибка с андроидом, но теперь она должна быть исправлена.Изображение, которое я использую для наклейки, имеет размер 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 Ответ

1 голос
/ 18 марта 2019

Проблема была в видеофайле, который я использовал для тестирования. Максимальная длительность для фонового ресурса составляет 20 секунд, и, в то время как файл, который я использовал, составлял 20 секунд в соответствии с videoview, получение реальной продолжительности видео дало мне 20333 мили, что превышает предел, указанный в документации. Я использовал другой файл, который на самом деле соответствует критериям, и он работает.

...