我想检查Android设备是否有加速度计,这样我就可以发出一条祝酒消息,说如果没有加速度计,游戏将无法在当前设备上正常运行。我正在寻找这样的东西:
if(DEVICE_HAS_ACCELEROMETER == false){
Toast.makeText(context,"No Accelerometer Found.",Toast.LENGTH_LONG).show();
}
如果您可以填写DEVICE_HAS_ACCELEROMETER部分,那就可以完成这项工作。
PS:我没参加活动。
答案 0 :(得分:9)
SensorManager sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
Sensor accelerometerSensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
if (accelerometerSensor != null)
{
// Device has Accelerometer
}
答案 1 :(得分:2)
boolean accelerometer;
accelerometer = sensorMgr.registerListener(this,sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
if(accelerometer)
{
.
.
}
答案 2 :(得分:2)
执行以下操作,
SensorManager sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
List<Sensor> s=sensorManager.getSensorList(Sensor.TYPE_ALL);
for (int i=0;i<s.size();i++)
{
Sensor tmp = s.get(i);
if (tmp.getType() == Sensor.TYPE_ACCELEROMETER)
DEVICE_HAS_ACCELEROMETER=true;
else
DEVICE_HAS_ACCELEROMETER=false;
}
答案 3 :(得分:0)
这将有效:
SensorManager Sensors = (SensorManager)getSystemService(SENSOR_SERVICE);
Sensor mAccelerometer = Sensors.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
mAccelerometer将具有加速度值。
答案 4 :(得分:0)
accelerometer = sensorMgr.registerListener(this,sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
if(accelerometer)
{
}
答案 5 :(得分:0)
SensorManager sManager;
acce = sManager.registerListener(this,sManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
if(acce)
{
}
答案 6 :(得分:0)
您也可以通过PackageManger在一行中查看。
boolean isAccSupported = getPackageManager().hasSystemFeature(PackageManager.FEATURE_SENSOR_ACCELEROMETER);