我是 Android 新手,通过共享意图共享图像时遇到问题。我用谷歌搜索了很多,尝试了各种方法,但仍然找不到解决方案。
我的代码是:
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("image/*");
shareIntent.putExtra(Intent.EXTRA_STREAM,uri);
this.startActivityForResult(Intent.createChooser(shareIntent,"Share with"),12);
我检查了uri,保存的文件是位图及其返回文件。但分享时显示的图片无效。Gmail 说它无法附加附件,消息应用程序无法加载图像。
文本共享工作正常。
基本上我正在为 Unity 编写一个插件。这是我在 Unity 端的代码:
string destination = Path.Combine(Application.persistentDataPath,"sharingImage" + ".png");
if (!File.Exists(destination)) {
print("creating new file");
File.Create(destination);
}
File.WriteAllBytes(destination, bytes);
print("destination= "+destination);
AndroidJavaClass uriClass = new AndroidJavaClass("android.net.Uri");
AndroidJavaObject uriObject = uriClass.CallStatic<AndroidJavaObject>("parse","file://" + destination);
using (AndroidJavaClass pluginClass = new AndroidJavaClass("com.kashiftasneem.sharelib.ShareController")) {
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
pluginClass.CallStatic("Share",message,uriObject,jo,gameObject.name,destination);
}
我正在记录目的地和 uri,它们是:
目的地= /data/data/com.kashiftasneem.shareandroidplugin2/files/sharingImage.png
uri = file:///data/data/com.kashiftasneem.shareandroidplugin2/files/sharingImage.png