我更改了Android BluetoothChat示例項目以通過藍牙傳輸文件。我成功傳輸了文本文件並將其打印在ListActivity上。我想用圖像做同樣的事情,但不能使它工作。有一個Handler對象將InputStream接收到的字節數組發送到UserInterface。我需要將這個bytearray轉換成圖像。我試着以下但不工作:將字節數組轉換爲位圖Android
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case MESSAGE_STATE_CHANGE:
if(D) Log.i(TAG, "MESSAGE_STATE_CHANGE: " + msg.arg1);
switch (msg.arg1) {
case MESSAGE_READ:
byte[] readBuf = (byte[]) msg.obj;
// construct a string from the valid bytes in the buffer
myImg.setImageBitmap(BitmapFactory.decodeByteArray(readBuf, 0, readBuf.length));
//the following lines would actually display the text of the file in the ListActivity
//String readMessage = new String(readBuf, 0, msg.arg1);
//mConversationArrayAdapter.add(mConnectedDeviceName+": " + readMessage);
break;
}
}
};
將消息發送到用戶界面處理程序的代碼看起來像以下:
mHandler.obtainMessage(BluetoothChat.MESSAGE_READ, bytes, -1,buffer).sendToTarget();
ANSWER 我看了很多其他職位,我發現有人其他成功的工作。他用一個小技巧救了我。因爲它是一種更好的方式解釋了問題的頁面Sending image from android to PC via bluetooth
謝謝大家的幫助,雖然
定義「不起作用」 – njzk2
myImg具有對我在UI上使用的圖像的引用。我點擊發送後,圖像消失。我想沒有正確的位圖替換。 – bboydflo
是否有錯誤或異常?你確定它是一個圖像?你是否試圖將它保存在某個地方並用普通的圖像查看器打開它? – njzk2