我在将应用中的图片分享给其他应用时遇到了麻烦。
问题是当我分享图片时,它不包含扩展程序,而其他应用程序如messenger,whatsapp或gmail无法识别它们。
我的代码是:
Intent intent = new Intent(Intent.ACTION_SEND);
String path = "android.resource://com.xxxx.xxxxxxx/drawable/image";
Uri screenshotUri = Uri.parse(path);
intent.putExtra(Intent.EXTRA_TEXT, "Hello world!");
intent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
intent.setType("image/*");
startActivity(Intent.createChooser(intent, "Share:"));
我在分享音频方面遇到同样的问题:
Intent share = new Intent();
share.setAction(Intent.ACTION_SEND);
String sharePath = "android.resource://com.xxx.xxxxx/raw/" + sound;
Uri uri = Uri.parse(sharePath);
share.putExtra(Intent.EXTRA_STREAM, uri);
share.setType("audio/mp3");
Intent i = Intent.createChooser(share, "Share Sound File");
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
baseContext.startActivity(i);
我已经检查过官方文档但仍有问题:https://developer.android.com/training/sharing/send.html
感谢您的帮助或任何提示!
答案 0 :(得分:1)
在共享之前,您必须将图像或音频文件写入SD卡或ExternalStorege。原因是其他应用无法访问您应用的私人内存中的文件。因此,要从您的应用程序共享图像或任何其他文件,您必须使其可供其他应用程序阅读。