android - 图像 Uri 到字节数组

标签 android arrays uri

我目前有两个 Activity 。一种用于从 SD 卡中提取图像,另一种用于蓝牙连接。

我已经使用 Bundle 从 Activity 1 中传输图像的 Uri。

现在我想做的是让蓝牙 Activity 中的 Uri 通过字节数组将其转换为可传输状态我已经看到了一些示例,但我似乎无法让它们为我的代码工作!!

Bundle goTobluetooth = getIntent().getExtras();
    test = goTobluetooth.getString("ImageUri");

是我必须克服的。下一步是什么?

最佳答案

Uri到得到byte[]我做了以下事情,

InputStream iStream =   getContentResolver().openInputStream(uri);
byte[] inputData = getBytes(iStream);

getBytes(InputStream)方法是:

public byte[] getBytes(InputStream inputStream) throws IOException {
      ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream();
      int bufferSize = 1024;
      byte[] buffer = new byte[bufferSize];

      int len = 0;
      while ((len = inputStream.read(buffer)) != -1) {
        byteBuffer.write(buffer, 0, len);
      }
      return byteBuffer.toByteArray();
    }

关于android - 图像 Uri 到字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10296734/

相关文章:

json - Ansible:如何在 JSON 中打印数字而不是字符串 - 模块 uri

java - 智能时间计算

android - View.setEnabled(false) 在 android 中不能正常工作

java - 将日期字符串解析为 "yyyy-MM-dd' T'HH :mm:ss' -'hh:mm" 时,小时、分钟和米尔值错误

javascript - 隐藏以前的选项卡和标题 react-navigation v3

javascript - 如何查询 Mongoose 数据库以检索一项?

java - 二维数组的元素组合数量是可能的吗?

java - 如何将 String 转换为从 sqlite 获取的 Uri 并将其设置在 ImageView 中?

java - 在调用的方法中访问 iriInfo

python - boost::python 从 numpy.ndarray 返回值中提取 C++ 值