J
Javist
Neues Mitglied
- 0
Hallo zusammen,
ich sende in 1 sec HEX_Wert via Bluetooth, jetzt hätte ich gern das meine Textview die Werte anzeigt nur dann kommt Fehlermeldung
Fehler beim Empfangen: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
So sende ich:
Das Empfangen funktioniert über Botton aber nicht automatisch
Ich muss glaube ein Handler einbauen, aber wie und wo?
Herzlichen Dank für eure Hilfe
ich sende in 1 sec HEX_Wert via Bluetooth, jetzt hätte ich gern das meine Textview die Werte anzeigt nur dann kommt Fehlermeldung
Fehler beim Empfangen: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
So sende ich:
PHP:
public void senden(View v) {
TimerTask mt = new TimerTask() {
@Override
public void run() {
byte[] message = new byte[]{0x20};
byte[] msgBuffer = (message);
if (is_connected) {
Log.d(LOG_TAG, "Sende Nachricht: " + message);
try {
stream_out.write(msgBuffer);
} catch (IOException e) {
Log.e(LOG_TAG,
"Bluetest: Exception beim Senden: " + e.toString());
}
}
empfangen();
}
};
timer1.schedule(mt,1000,2000);
}
PHP:
public void empfangen() {
byte[] buffer = new byte[1025]; // Puffer
int laenge; // Anzahl empf. Bytes
try {
if (stream_in.available() > 0) {
//if (is_connected) {
// String msg="";
laenge = stream_in.read(buffer);
Log.d(LOG_TAG,
"Anzahl empfangender Bytes: " + String.valueOf(laenge));
// Message zusammensetzen:
for (int i=0;i<laenge;i++) {
msg= String.format("%x", buffer[i]);//;
Log.d(LOG_TAG, "Message: " + msg);
Toast.makeText(this, msg, Toast.LENGTH_LONG).show();
((TextView) findViewById(R.id.hex)).setText(msg);
}
}else Toast.makeText(this, "Nichts empfangen", Toast.LENGTH_LONG).show();
//Toast.makeText(this, "Nichts empfangen", Toast.LENGTH_LONG)
// .show();
}catch(Exception e){
Log.e(LOG_TAG, "Fehler beim Empfangen: " + e.toString());
}
}
Herzlichen Dank für eure Hilfe