我目前有两个 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/