Мое приложение Bluetooth
также может отправлять изображения, но я не могу проверить тип содержимого, если полученные байты от изображения, байты должны применяться к ImageView
, а если полученные байты которые из текста, байты должны быть показаны на Toast.makeText().show()
Проверьте, какой контент представляет собой полученные байты
private class StreamThread extends Thread {
public StreamThread() {
}
public void run() {
byte[] buffer = new byte[1000000];
int bytes;
while (true) {
try {
bytes = bluetoothIn.read(buffer);
//Received bytes can represent text or image
//if (hereSomeTypeDetector=="image/*") {
// update the UI and show the image
//} else if (hereSomeTypeDetector=="text/plain") {
// show a toast
//}
} catch (IOException e) {
Log.e(TAG, "Unable to receive bytes");
break;
}
}
}
public void write(byte[] data) {
try {
bluetoothOut.write(data);
} catch (IOException e) {
Log.e(TAG, "Unable to send bytes");
}
}
}
Моя проблема, мне нужно, чтобы обнаружить тип содержимого полученных байт, код для использования его вместо hereSomeTypeDetector
?
ПРИМЕЧАНИЕ:
hereSomeTypeDetector - только пример.
для стартеров ваш буфер слишком мал для большинства изображений. Затем вы можете использовать http://developer.android.com/reference/java/net/URLConnection.html#guessContentTypeFromStream%28java.io.InputStream%29. Он находится в URLConnection, но может использоваться для любого InputStream. – njzk2