Я много раз проверял обмен изображениями с приложением 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 ..
Пожалуйста, помогите мне ..