package com.DeviceTest;
|
|
import static android.view.WindowManager.LayoutParams.FLAG_FULLSCREEN;
|
import static android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
|
|
import java.util.List;
|
|
import com.DeviceTest.helper.ControlButtonUtil;
|
|
import android.app.Activity;
|
import android.graphics.Color;
|
import android.hardware.Sensor;
|
import android.hardware.SensorEvent;
|
import android.hardware.SensorEventListener;
|
import android.hardware.SensorManager;
|
import android.os.Bundle;
|
import android.util.Log;
|
import android.view.KeyEvent;
|
import android.widget.TextView;
|
|
/**
|
* @author LanBinYuan
|
* @date 2011-06-11
|
*
|
*/
|
|
public class MsensorTestActivity extends Activity {
|
/** Called when the activity is first created. */
|
private SensorManager sensorManager;
|
private SensorEventListener lsn = null;
|
|
|
protected void onCreate(Bundle paramBundle) {
|
super.onCreate(paramBundle);
|
|
|
setTitle(getTitle() + "----("
|
+ getIntent().getStringExtra(DeviceTest.EXTRA_TEST_PROGRESS) + ")");
|
//requestWindowFeature(Window.FEATURE_NO_TITLE);
|
getWindow().addFlags(FLAG_FULLSCREEN | FLAG_KEEP_SCREEN_ON);
|
|
setContentView(R.layout.msensortest);
|
ControlButtonUtil.initControlButtonView(this);
|
sensorManager = (SensorManager) this.getSystemService(SENSOR_SERVICE);
|
|
}
|
|
|
protected void onResume() {
|
super.onResume();
|
|
lsn = new SensorEventListener() {
|
public void onAccuracyChanged(Sensor sensor, int accuracy) {
|
// TODO Auto-generated method stub
|
|
}
|
|
public void onSensorChanged(SensorEvent e) {
|
TextView subTitle = (TextView) findViewById(R.id.Magnetic);
|
subTitle.setTextColor(Color.rgb(255, 0, 0));
|
|
String info = " name:" + String.valueOf(e.sensor.getName());
|
info += "\n";
|
|
info += " vendor:" + String.valueOf(e.sensor.getVendor());
|
info += "\n";
|
info += " version:" + String.valueOf(e.sensor.getVersion());
|
info += "\n";
|
info += " maxRange:"
|
+ String.valueOf(e.sensor.getMaximumRange());
|
info += "\n";
|
info += " resolution:"
|
+ String.valueOf(e.sensor.getResolution());
|
info += "\n";
|
info += " power:" + String.valueOf(e.sensor.getPower());
|
|
TextView infoView = (TextView) findViewById(R.id.magnetic_info);
|
infoView.setText(info);
|
// --------------
|
|
TextView x = (TextView) findViewById(R.id.magnetic_x);
|
x.setText(" x:"
|
+ String.valueOf(e.values[SensorManager.DATA_X]));
|
x.setTextColor(android.graphics.Color.GREEN);
|
|
TextView y = (TextView) findViewById(R.id.magnetic_y);
|
y.setText(" y:"
|
+ String.valueOf(e.values[SensorManager.DATA_Y]));
|
y.setTextColor(android.graphics.Color.GREEN);
|
|
TextView z = (TextView) findViewById(R.id.magnetic_z);
|
z.setText(" z:"
|
+ String.valueOf(e.values[SensorManager.DATA_Z]));
|
z.setTextColor(android.graphics.Color.GREEN);
|
|
}
|
|
};
|
|
Sensor sensors = sensorManager
|
.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
|
|
sensorManager.registerListener(lsn, sensors,
|
SensorManager.SENSOR_DELAY_NORMAL);
|
}
|
|
//
|
|
protected void onStop() {
|
super.onStop();
|
sensorManager.unregisterListener(lsn);
|
}
|
|
public boolean dispatchKeyEvent(KeyEvent event) {
|
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
|
return false;
|
}
|
return super.dispatchKeyEvent(event);
|
}
|
}
|