gpt4 book ai didi

android - 在 whatsApp 中使用 Intent 共享图像不起作用

转载 作者:行者123 更新时间:2023-11-29 01:13:17 25 4
gpt4 key购买 nike

我正在共享两个 URI 图像资源,它们来自 mipmap 和 ACTION_GET_CONTENT 使用的 URI。

public void shareUsingIntent() {
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("image/*");
i.putExtra(Intent.EXTRA_STREAM, getUri());
startActivity(Intent.createChooser(i, "Share Image"));
}
public Uri getUri() {
if (selectedImageUri != null) {
return selectedImageUri;
} else {
return Uri.parse("android.resource://" + getPackageName() + "/" + R.mipmap.ic_launcher);
}
}

它在使用 URI 的 ACTION_GET_CONTENT 中工作,但 mipmap 资源在某些应用程序(如 Facebook 和 watsapp)中不起作用。我从一些堆栈答案中读到图像必须添加到外部存储中。它不适用于此 URI。

Uri.parse("android.resource://" + getPackageName() + "/" + R.mipmap.ic_launcher

在什么是应用程序和 Facebook 中以及为什么它在其他应用程序(如默认的聊天应用程序、Twitter 等)中工作?

最佳答案

试试这个函数://如果 targetSDK >= 23,请检查运行时权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

同时向您的 Manifest 文件添加相同的权限。

   private void shareViaWhatsApp() {

Uri imageUri = null;
try {
imageUri = Uri.parse(MediaStore.Images.Media.insertImage(this.getContentResolver(),
BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher), null, null)); //You may need to check for permission for this.
} catch (NullPointerException e) {

}

final Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.setType("text/plain");
emailIntent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.app_name));
emailIntent.putExtra(Intent.EXTRA_TEXT, "Text to share");
emailIntent.putExtra(Intent.EXTRA_STREAM, imageUri); //............Pass Image URI here.........
emailIntent.setType("image/*");
emailIntent.setPackage("com.whatsapp");
startActivity(Intent.createChooser(emailIntent, "Share..."));
}

关于android - 在 whatsApp 中使用 Intent 共享图像不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41518215/

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