2016-03-21 1 views
0

Ich habe Arbeitscode, der SeekBar Schieberegler Werte an Bluetooth und Android sendet. Ich möchte es ändern, um Beschleunigungsmesserwerte zu lesen und an Bluetooth zu senden, also kann ich einen Roboter steuern, indem ich Telefon neige. Seekbar Code funktioniert gut. Ich habe dies in der OnCreate-Methode ersetzt. "Helligkeit" ist der Name der Suchleiste, weil sie momentan eine LED steuert.senden Beschleunigungsmesser Daten von Android zu Bluetooth Absturz App

brightness.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
     @Override 
     public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
      try { 
       btSocket.getOutputStream().write(String.valueOf(progress).getBytes()); 
      } catch (IOException e) { } 
     } 
     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) { } 
     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) { } 
    }); 

`mit diesem als separates Verfahren

@Override 
public void onSensorChanged(SensorEvent event) { 
    int x = (int)((event.values[0]+9.8)*256/2/9.8); 
    accelText.setText(" X = " + x); 
    try { 
     btSocket.getOutputStream().write(String.valueOf(x).getBytes()); 
    } catch (IOException e) { 
      msg("error at btSocket"); 
    } 
} 

und natürlich habe ich die richtigen Erklärungen im onCreate Methode:

sm = (SensorManager)getSystemService(SENSOR_SERVICE); 
    accelerometer = sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); 
    sm.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_NORMAL); 

kompiliert in Ordnung. Wenn es läuft, bekomme ich die "leider App hat aufgehört zu arbeiten" Nachricht. Wenn ich die btSocket-Zeile auskommentiere, funktioniert alles (außer natürlich, die Nachricht zu senden). Jeder sieht, was ich falsch mache. Vielen Dank - im Voraus.

+0

Was ist die Logcat-Ausgabe, wenn der Absturz auftritt? – p2pkit

+0

03-23 ​​15: 13: 37.158 17363-17363 /? I/dalvikvm: at com.blogspot.drcodd.robotcontrol.RobotControl.onSensorChanged (RobotControl.java:141) 03-23 ​​15: 13: 37.178 17363-17363 /? A/libc: Fatales Signal 6 (SIGABRT) bei 0x000043d3 (Code = -6), Thread 17363 (dd.robotcontrol) 03-23 ​​15: 13: 37.278 26318-26318 /? I/DEBUG: pid: 17363, tid: 17363, Name: dd.robotcontrol >>> com.blogspot.drcodd.robotcontrol <<< 03-23 ​​15: 13: 37.548 640-17552 /? W/ActivityManager: Erzwingungsaktivität erzwingen com.blogspot.drcodd.robotcontrol/.RobotControl –

Antwort

0

Legen Sie die Berechtigungen für BLUETOOTH in Ihrem Manifest fest?

<uses-permission android:name="android.permission.BLUETOOTH" /> 

Vielleicht müssen Sie diese auch

<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> 

Wenn Sie dies tun, was ist die Ausnahmemeldung?

+0

Dies sollte ein Kommentar sein. – ketan

+0

Ich kann nicht kommen, ich bin neu. – DonLeopardo

+0

ja, es hat die Berechtigungen. Ich verbinde mich mit Bluetooth-Modul und kann eine LED (Arduino ist beteiligt) mit Ein-und Aus-Tasten und die Suchleiste, die ich referenziert, steuern. Es ist nur die Zeile "btSocket.getOutputStream ..." in der OnSensorChanged-Methode, die das Problem verursacht –