Я пытаюсь запустить Intent из приложения Unity, которое запустит приложение для обмена текстовыми сообщениями с вложением.
Мне удалось открыть приложение для обмена текстовыми сообщениями, но вложение не загружается должным образом,выдает следующее исключение:
'Не удалось определить тип файла: ///storage/emulated/0/Android/data/com.torpedoesaway.memematch/files/Gifit2MemeFiles/gifit2meme-2019-09-09-7-09-39-54.gif java.io.IOException: java.lang.RuntimeException: setDataSource fail: status = 0x80000000 '
Обратите внимание, что я также пытался загрузить другие изображения, такие какpngs и jpgs, все выдают одну и ту же ошибку.
Это мой код:
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("smsto:" + recipient));
intent.putExtra("sms_body", message);
intent.putExtra(Intent.EXTRA_STREAM, attachment);
if (intent.resolveActivity(activity.getPackageManager()) != null) {
activity.startActivity(intent);
}
Я попытался поиграться с действием намерения, а также вызовами setData
/ setType
и в одном случае я могу открыть селектор, выбрать приложение обмена сообщениями, а затем вложение загружается правильно.Тем не менее, я хочу открыть приложение для обмена текстовыми сообщениями непосредственно с работающим приложением.
Заранее спасибо за помощь!
Редактировать:
Как я звонюот Unity:
AndroidJavaClass Uri = new AndroidJavaClass("android.net.Uri");
AndroidJavaObject uri = Uri.CallStatic<AndroidJavaObject>("parse", path);
unityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
pluginClass = new AndroidJavaObject("com.torpedosaway.giftomessage.Gif2Message");
pluginClass.Call(
"ComposeMmsMessage",
"53876045",
"message",
uri,
unityClass.GetStatic<AndroidJavaObject>("currentActivity"));