Отправка изображения в формате png, включая прозрачную область, в приложение Instagram на android - PullRequest
0 голосов
/ 10 марта 2020

Я много раз проверял обмен изображениями с приложением instagram. Фоновые и стикерные изображения идут хорошо. Но я обнаружил проблему с изображением стикера png. (Фон не проблема)

Это изображение png имеет некоторую прозрачную область. Но эта область кажется черной в приложении Instagram.

Ниже приведен пример кода.

private void shareForInstagramWithBgImage(String filePath, String stickerPath) {

    try {
        ContentResolver cr = getContentResolver();

        String MEDIA_TYPE_PNG = "image/png";

        Uri backgroundImageUri = Uri.parse(MediaStore.Images.Media.insertImage(cr, filePath,
                "Steve", "Share happy"));

        Uri stickerAssetUri = Uri.parse(MediaStore.Images.Media.insertImage(cr, stickerPath,
                "interactive_asset_uri", "Sticker Image"));

        Intent intent = new Intent("com.instagram.share.ADD_TO_STORY");
        intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
        intent.setDataAndType(backgroundImageUri, MEDIA_TYPE_PNG);
        intent.putExtra("interactive_asset_uri", stickerPath);
        intent.putExtra("content_url", "www.google.com");

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

    } catch (Exception e) {
        Log.d("DEBUG", "shareForInstagramWithBgImage() - Err: " + e.toString());
    }
}

Я думаю, что функция 'setDataAndType' - это главная клавиша для ее решения. Но я нигде не смог найти информацию для наклейки. Другие приложения работают хорошо. Ex> Spotify ..

Пожалуйста, помогите мне ..

...