2
我已經修改了Android藍牙聊天示例應用程序以現在發送圖像。這對第一張圖片來說很好。它被髮送並正確顯示。當我嘗試發送另一張圖像時,它似乎會將前一張圖像發送20次以上,此時應該只發送一次新圖像。我嘗試過使用oef,但無濟於事。Android - 通過藍牙以編程方式發送圖像
這會發送圖片:
Bitmap icon = BitmapFactory.decodeResource(context.getResources(), R.drawable.rc_a);
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
icon.compress(Bitmap.CompressFormat.JPEG, 40, bytes);
byte[] image = bytes.toByteArray();
mConnection.write(image);
這是ConnectedThread:
public void run() {
byte[] buffer = new byte[1024];
byte[] imgBuffer = new byte[1024 * 1024];
int pos = 0;
// Keep listening to the InputStream while connected
while (true) {
try {
// Read from the InputStream
int bytes = mmInStream.read(buffer);
System.arraycopy(buffer,0,imgBuffer,pos,bytes);
pos += bytes;
mHandler.obtainMessage(BtoothSetupActivity.MESSAGE_READ,
pos, -1, imgBuffer).sendToTarget();
} catch (IOException e) {
connectionLost();
break;
}
}
}
該讀取數據回:
case MESSAGE_READ:
byte[] readBuf = (byte[]) msg.obj;
Bitmap bmp = BitmapFactory.decodeByteArray(readBuf, 0, msg.arg1);
我們的想法是,以控制另一個照相機的裝置(其被實現),然後在發送捕獲的圖像。所以理想情況下,沒有人與相機設備進行交互(僅用於設置應用程序)。 – mr0mr 2013-03-15 19:26:17
請參閱提供的鏈接以獲取有關您問題的更多幫助。 – syb0rg 2013-03-15 19:53:08