android手机支持重力感应,针对Android的通过如下接口支持:

android.hardware.SensorEventListener

该接口有两个方法需要实现:

@Override
public void onSensorChanged(SensorEvent e) {

view.handleMoving(e.values[SensorManager.DATA_X]);
}

@Override
public void onAccuracyChanged(Sensor s, int accuracy) {
....

}

实现该接口比较容易,可以将对应的Activity实现该接口,在onSensorChanged方法中添加需要感应重力变化的处理代码即可。

还有一点,为了使重力感应生效需要增加如下处理逻辑

1:在Activity创建后,使重力感应生效

2:在Activity终止时,使重力感应失效

参考类似代码如下:

private SensorManager mSensorManager;

private Sensor mSensor;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
enableSensor();
}

@Override
public void finish() {
// 注销重力感应监听
disableSensor();
super.finish();
}

private void enableSensor(){
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
// 注册重力感应监听
mSensorManager.registerListener(this, mSensor,
SensorManager.SENSOR_DELAY_GAME);
}

public void disableSensor(){
mSensorManager.unregisterListener(this, mSensor);
}


获取系统重力感应的方法:

public static void getSystemGravity(Context context) {try {int systemGravity = Settings.System.getInt(context.getContentResolver(),Settings.System.ACCELEROMETER_ROTATION);if (0 == systemGravity) {Constant.g_isGravity = false;} else {Constant.g_isGravity = true;}} catch (SettingNotFoundException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}
设置系统是否开启重力感应:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);

更多相关文章

  1. android 中调用接口发送短信
  2. 【Android】Web开发之通过标准Java接口处理Http请求
  3. AIDL(android 接口描述语言)
  4. Android中Parcelable接口用法
  5. Android对接webService接口
  6. 【面试】Android Retrofit+Rxjava 如何实现同时请求多个接口数据
  7. Android 驱动之旅 第四章:在Android 系统中编写JNI 方法在应用程
  8. 一种绕过Android P对非SDK接口限制的简单方法
  9. Android笔记:Android后台接口教程一(从零开始学习Android后台接口)A

随机推荐

  1. 2021华为认证报名须知,Pearson VUE考试中
  2. 关于一个NBA球队连续夺冠的SQL查询问题,解
  3. 函数递归使用
  4. MySQL系列-DDL语句
  5. MySQL系列-表是如何组成的?
  6. 那个做外包的程序员,最后去哪里了?(二)
  7. echarts地图下钻
  8. MySQL系列-DML语句
  9. MySQL系列-DML语句之select多表连接查询
  10. select使用方法