2016-02-11 66 views
0

我正在嘗試獲取加速度計值並在屏幕上顯示。即使我沒有得到任何錯誤,我不能看到任何值被髮送到文本對象。 安裝時我有振動許可,這些應該都很好。獲取Android加速度並在屏幕上顯示

package com.example.sendsms; 

import android.app.Activity; 
import android.content.Context; 
import android.hardware.Sensor; 
import android.hardware.SensorEvent; 
import android.hardware.SensorEventListener; 
import android.hardware.SensorManager; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.TextView; 
import android.widget.Toast; 


public class SendSMSActivity extends Activity implements SensorEventListener { 
    SendSMS mSender = new SendSMS(); 
    private SensorManager sensorManager; 
    private Sensor accelerometer; 
    private float mSensorX; 
    private Sensor mSensor; 

    @Override 
    public void onSensorChanged(SensorEvent event) { 

     mSensorX = event.values[0]; 
     String temp = Float.toString(mSensorX); 
     //mSensorY = event.values[1]; 
     TextView resultText = (TextView)findViewById(R.id.xacc); 
     resultText.setText(temp); 

    } 

    @Override 
    public void onAccuracyChanged(Sensor sensor, int accuracy) { 
    } 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     // Get an instance of the SensorManager 
     this.sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); 
     this.accelerometer = this.sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); 

    } 


    public void sendit(View v) { 
     boolean success = mSender.sendSMSMessage("0413556955", 
      // This is standard lorem-ipsum text, do not bother 
      // trying to wrap it, there's about 500 characters... 
      "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." 
      ); 
     Toast.makeText(this, "Message sent " + (
      success ? "successfully" : "unsuccessfully"), 
      Toast.LENGTH_SHORT).show(); 
     TextView resultText = (TextView)findViewById(R.id.xacc); 
      resultText.setText("Message Sent"); 
    } 
} 

回答

0

您需要註冊聽衆。

protected void onResume() { 
    super.onResume(); 
    sensorManager.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_NORMAL); 
} 

protected void onPause() { 
    super.onPause(); 
    sensorManager.unregisterListener(this); 
}