gpt4 book ai didi

android - 打开带附件的短信应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:41:15 29 4
gpt4 key购买 nike

我正在尝试从 Unity 应用程序启动一个 Intent,它将启动带有附件的短信应用程序。

我已经能够打开短信应用程序,但附件加载不正确,抛出以下异常:

'Could not determine type of file:///storage/emulated/0/Android/data/com.torpedoesaway.memematch/files/Gifit2MemeFiles/gifit2meme-2019-09-7-09-39-54.gif java.io.IOException: java.lang.RuntimeException: setDataSource failed: status = 0x80000000'

请注意,我还尝试加载其他图像,例如 png 和 jpg,都抛出相同的错误。

这是我的代码:

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);
}

我尝试使用 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"));

最佳答案

就在您调用 startActivity(intent);

之前

添加这些行:

StrictMode.VmPolicy.Builder builder = StrictMode.VmPolicy.Builder();
StrictMode.setVmPolicy(builder.build());

然后调用

startActivity(intent);

关于android - 打开带附件的短信应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56984527/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com