5 月 22 日最近更新后,在 whatsapp 上分享的图片损坏了
Sharing image on whatsapp broken after recent update on 22nd may
我正在使用通用图像加载器,并且能够使用此代码将图像从我的应用转发到 whatsapp
public static void shareImage(Context context, File pictureFile, String text) {
Uri imageUri = Uri.parse(pictureFile.getAbsolutePath());
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
shareIntent.putExtra(Intent.EXTRA_TEXT, text);
shareIntent.setType("image/*");
context.startActivity(Intent.createChooser(shareIntent, "Share"));
}
但随着最近的 whatsapp 更新于 5 月 22 日。我收到“文件格式不受支持”提示。
较早的图像共享适用于
shareIntent.setType("image/*");
但在最近的更新中,需要进行以下更改才能在 whatsapp 上共享图像
public class ImageFileNameGenerator implements FileNameGenerator {
@Override
public String generate(String imageUri) {
String extension = imageUri.substring(imageUri.lastIndexOf("."));
return String.valueOf(imageUri.hashCode() + extension);
}
}
更新配置
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
.defaultDisplayImageOptions(defaultOptions)
.diskCacheFileNameGenerator(new ImageFileNameGenerator())
.build();
ImageLoader.getInstance().init(config);
图片分享代码
public static void shareImage(Context context, File pictureFile, String text) {
String imagePath = pictureFile.getAbsolutePath();
Uri imageUri = Uri.parse(imagePath);
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
shareIntent.putExtra(Intent.EXTRA_TEXT, text);
String imageFileExtension = imagePath.substring(imagePath.lastIndexOf("."));
shareIntent.setType("image/" + imageFileExtension);
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
context.startActivity(Intent.createChooser(shareIntent, "Share"));
}
我正在使用通用图像加载器,并且能够使用此代码将图像从我的应用转发到 whatsapp
public static void shareImage(Context context, File pictureFile, String text) {
Uri imageUri = Uri.parse(pictureFile.getAbsolutePath());
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
shareIntent.putExtra(Intent.EXTRA_TEXT, text);
shareIntent.setType("image/*");
context.startActivity(Intent.createChooser(shareIntent, "Share"));
}
但随着最近的 whatsapp 更新于 5 月 22 日。我收到“文件格式不受支持”提示。
较早的图像共享适用于
shareIntent.setType("image/*");
但在最近的更新中,需要进行以下更改才能在 whatsapp 上共享图像
public class ImageFileNameGenerator implements FileNameGenerator {
@Override
public String generate(String imageUri) {
String extension = imageUri.substring(imageUri.lastIndexOf("."));
return String.valueOf(imageUri.hashCode() + extension);
}
}
更新配置
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
.defaultDisplayImageOptions(defaultOptions)
.diskCacheFileNameGenerator(new ImageFileNameGenerator())
.build();
ImageLoader.getInstance().init(config);
图片分享代码
public static void shareImage(Context context, File pictureFile, String text) {
String imagePath = pictureFile.getAbsolutePath();
Uri imageUri = Uri.parse(imagePath);
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
shareIntent.putExtra(Intent.EXTRA_TEXT, text);
String imageFileExtension = imagePath.substring(imagePath.lastIndexOf("."));
shareIntent.setType("image/" + imageFileExtension);
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
context.startActivity(Intent.createChooser(shareIntent, "Share"));
}