2016-03-21 17 views
0

Ben bluetooth ve android için SeekBar kaymak değerleri gönderen çalışma kodu var. Bluetooth'a ivme değerleri okumak ve göndermek için değiştirmek istiyorum, böylece telefonu eğerek bir robotu kontrol edebiliyorum. Seekbar kodu gayet iyi çalışıyor. Bunu onCreate yönteminde değiştirdim. "parlaklık", arama çubuğunun adıdır çünkü şu an için bir ledin kontrol edilmesidir.android den ivmeölçer veri göndermek için kilitlenme uygulaması

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

iyi derler: Ayrı bir yöntem

@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"); 
    } 
} 

olarak ve tabii ki bu konuda

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) { } 
    }); 

`i onCreate yöntemde uygun bildirimleri sahiptir. Çalışırken "maalesef uygulama çalışmayı durdurdu" mesajını alıyorum. BtSocket satırına herşeyi anlattığımda her şey işe yaradı (mesajı göndermekten başka, tabii ki). Benim ne yaptığımı yanlış gören var mı? Çok teşekkürler - önceden.

+0

Kilitlenme meydana geldiğinde logcat çıkışı nedir? – 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 0x 0x000043d3'de (kod = -6) ölümcül sinyal 6 (SIGABRT), iplik 17363 (dd.robotkontrol) 03-23 ​​15: 13: 37.278 26318-26318 /? I/DEBUG ﹕ pid: 17363, tid: 17363, adı: dd.robotcontrol >>> com.blogspot.drcodd.robotcontrol <<< 03-23 ​​15: 13: 37.548 640-17552 /? W/ActivityManager ﹕ Kuvvet son işlem etkinliği com.blogspot.drcodd.robotcontrol/.RobotControl –

cevap

0

Bildirilerinizde BLUETOOTH için izinler mi ayarlıyorsunuz? Bunu yaparsanız

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

Belki istisna nedir bu mesaj, bu çok

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

gerek?

+0

Bu yorum yapılmalıdır. – ketan

+0

Coats yapamam, yeniyim. – DonLeopardo

+0

evet, izinleri var. Ben bluetooth modülü ile bağlayın ve açık ve kapalı düğmeler ve başvurulan arama çubuğu ile bir led (arduino dahil) kontrol edebilirsiniz. Soruna neden olan onSensorChanged yönteminde yalnızca "btSocket.getOutputStream ..." satırı var –

İlgili konular