Nul*_*ion 35 android uri bitmap
我正在尝试使用SHARE INTENTAndroid从Facebook,Twitter等分享图像.
我找到了将图像发送到共享意图的代码,但是这段代码需要位图的URI: fullSizeImageUri
这是完整的代码:
private void startShareMediaActivity(Bitmap image) {
boolean isVideo=false;
String mimeType="bmp";
Uri fullSizeImageUri=null;
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setType(mimeType);
intent.putExtra(Intent.EXTRA_STREAM, fullSizeImageUri);
try {
startActivity(Intent.createChooser(intent, (isVideo ? "video" : "image")));
} catch (android.content.ActivityNotFoundException ex) { }
}
Run Code Online (Sandbox Code Playgroud)
请问有人可以帮我将Bitmap转换为Uri吗?
谢谢
Aja*_*jay 66
这是Colin的博客,他建议将位图转换为Uri的简单方法单击此处
public Uri getImageUri(Context inContext, Bitmap inImage) {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
String path = Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);
return Uri.parse(path);
}
Run Code Online (Sandbox Code Playgroud)
KK_*_*585 22
String FILENAME = "image.png";
String PATH = "/mnt/sdcard/"+ FILENAME;
File f = new File(PATH);
Uri yourUri = Uri.fromFile(f);
Run Code Online (Sandbox Code Playgroud)
我找到的最新解决方案是这样的。它在 kotlin 中,你可以在 Java 中隐藏它。
// Get uri of images from camera function
private fun getImageUri(inContext: Context?, inImage: Bitmap): Uri {
val tempFile = File.createTempFile("temprentpk", ".png")
val bytes = ByteArrayOutputStream()
inImage.compress(Bitmap.CompressFormat.PNG, 100, bytes)
val bitmapData = bytes.toByteArray()
val fileOutPut = FileOutputStream(tempFile)
fileOutPut.write(bitmapData)
fileOutPut.flush()
fileOutPut.close()
return Uri.fromFile(tempFile)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62026 次 |
| 最近记录: |