public class GetPosition extends Activity {
private TextView TextView01;
private SensorManager mSensorManager;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.get_position);
TextView01 = (TextView) findViewById(R.id.textView1);
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
}
protected void onResume() {
super.onResume();
/* 取得方守性的Sensor,并注册SensorEventListener */
mSensorManager.registerListener(mSensorEventListener,
mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),
SensorManager.SENSOR_DELAY_NORMAL);
}
protected void onPause() {
mSensorManager.unregisterListener(mSensorEventListener);
super.onPause();
}
private final SensorEventListener mSensorEventListener = new SensorEventListener() {
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
public void onSensorChanged(SensorEvent event) {
/* 判断Sensor的种类 */
if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) {
/* 取得X值资料 */
float x_data = event.values[SensorManager.DATA_X];
if ((x_data > 0 && x_data <= 22.5) || x_data > 337.5) {
TextView01.setText("北方" + String.valueOf(x_data));
} else if (x_data > 22.5 && x_data <= 67.5) {
TextView01.setText("东北方" + String.valueOf(x_data));
} else if (x_data > 67.5 && x_data <= 112.5) {
TextView01.setText("东方" + String.valueOf(x_data));
} else if (x_data > 112.5 && x_data <= 157.5) {
TextView01.setText("东南方" + String.valueOf(x_data));
} else if (x_data > 157.5 && x_data <= 202.5) {
TextView01.setText("南方" + String.valueOf(x_data));
} else if (x_data > 202.5 && x_data <= 247.5) {
TextView01.setText("西南方" + String.valueOf(x_data));
} else if (x_data > 247.5 && x_data <= 292.5) {
TextView01.setText("西方" + String.valueOf(x_data));
} else if (x_data > 292.5 && x_data <= 337.5) {
TextView01.setText("西北方" + String.valueOf(x_data));
}
}
}
};
}
- 大小: 11.2 KB
分享到:
相关推荐
光线传感器,感应光的强度,适合刚开发人员的操作。
监听摇一摇SensorManager @Override protected void onStop() { super.onStop(); if (sensorManager != null) {// 取消监听器 sensorManager.unregisterListener(sensorEventListener); } }
获取android支持的传感器类型 并显示数据
Android中类似于微信摇一摇的Demo,使用SensorManager通过实现Sensor的监听实现。
Android 获取SENSOR传感器X Y Z各个方向的磁场分量,了解传感器的工作原理和数据调用方法: private SensorListener mySensorListener = new SensorListener(){ @Override public void onAccuracyChanged...
android获取用户方向,晚上好~今天继续给大家分享一下第二个重要的感应器,其实获取方向本应该很简单的事情,在文章一中看到 有个TYPE_ORIENTATION 关键字,说明可以直接获取设备的移动方向,但是最新版的SDK加上了...
传感器SensorManager-master.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
sm = (SensorManager) MainActivity.ma.getSystemService(Service.SENSOR_SERVICE); sensor = sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);//得到一个重力传感器实例 //TYPE_ACCELEROMETER 加速度...
示例app
The method below are not thread-safe and not intended to be.
iOS中传感器的使用
通过SensorManager、SensorEvenListener等的配合使用,实现对Android手机中GPS的调用以实时显示出用户的GPS信息
if(sensor == SensorManager.SENSOR_ACCELEROMETER){//只检查加速度的变化 myTextView1.setText("x方向上的加速度为:" values[0]); //将提取的x数据显示到TextView myTextView2.setText("y方向上的加...
android 显示所有传感器数据, 使用 SensorManager registerListener, 主要文件是 MainActivity.java 和 AndroidManifest.xml 使用 android studio 打开, API 版本20
代码扒自Facebook的开源项目React Native 摇晃手机打开开发者选项的代码 出处:...
private SensorManager sensorManager; private TextView tv; private PowerManager localPowerManager = null;// 电源管理对象 private WakeLock localWakeLock = null;// 电源锁 @Override protected void ...
Android监测获取当前温度变化,使用 SensorManager.SENSOR_TEMPERATURE来监测当前温度,在这个实例中调用了很多方法,SensorManager mySensorManager;//SensorManager对象引用,声明SensorManagerSimulator对象,调试...
此重力感应传感器不仅对玩家旋转手机的动作可以检测到,而且会根据反转手机的程度,得到传感器的值也会不同!关于函数:sm.registerListener(mySensorListener, sensor, SensorManager.SENSOR_DELAY_GAME); //第一...
(1)首先要获取SensorManager传感器管理器服务:SensorManager sensorManager=(SensorManager)getSystemService(Context.SENSOR_SERVICE); (2)获取光照传感器:Sensor liaghtSensor=sensorManager