0
如何檢查在android模擬器中是否有像accerelerometer,magenetic compass這樣的傳感器類型。 在android模擬器中是否存在默認傳感器,或者我們需要將任何傳感器模擬器連接到android模擬器。如何顯示傳感器值
import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
//import android.widget.LinearLayout;
//import android.util.Log;
import android.widget.TextView;
public class SujaproActivity extends Activity implements SensorEventListener {
SensorManager sensorManager ;
private Sensor accSensor;
private TextView outputX;
private TextView outputY;
private TextView outputZ;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
accSensor = sensorManager.getSensorList(
Sensor.TYPE_ACCELEROMETER).get(0);
outputX = (TextView) findViewById(R.id.textView1);
outputY = (TextView) findViewById(R.id.textView2);
outputZ = (TextView) findViewById(R.id.textView3);
setContentView(R.layout.main);
}
protected void onResume() {
super.onResume();
sensorManager.registerListener(this,accSensor,SensorManager.SENSOR_DELAY_GAME);
// sensorManager.registerListener(this,
/*sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),
SensorManager.SENSOR_DELAY_GAME);*/
}
protected void onStop() {
super.onStop();
sensorManager.unregisterListener(this);
/*sensorManager.unregisterListener(this,
sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION));*/
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub
}
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ALL)
{
outputX.setText("x:"+Float.toString(event.values[0]));
outputY.setText("y:"+Float.toString(event.values[1]));
outputZ.setText("z:"+Float.toString(event.values[2]));
// default:
/*case Sensor.TYPE_ORIENTATION:
outputX2.setText("x:"+Float.toString(event.values[0]));
outputY2.setText("y:"+Float.toString(event.values[1]));
outputZ2.setText("z:"+Float.toString(event.values[2]));
break;*/
}
}
}
此代碼不顯示傳感器值。它只顯示在main.xml中繪製的設計部分。給我解決方案來顯示傳感器值。