如何将位图转换为 Uri?

新手上路,请多包涵

我正在尝试使用来自 Android 的 SHARE INTENT 与 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) { }
}

如何将位图转换为 Uri?

原文由 NullPointerException 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 656
2 个回答
String FILENAME = "image.png";
String PATH = "/mnt/sdcard/"+ FILENAME;
File f = new File(PATH);
Uri yourUri = Uri.fromFile(f);

原文由 KK_07k11A0585 发布,翻译遵循 CC BY-SA 3.0 许可协议

我找到的最新解决方案是这个。它在 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)
}

原文由 Uzzam Altaf 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏