我正在使用TYPE_STEP_COUNTER来计算我的应用中的步骤。问题是没有一个仿真器支持此传感器仿真。在开发过程中,我找不到其他任何应用来模拟计步器。我是否总是需要在真实设备上进行测试? 这是我正在使用的代码库(在模拟器中,它总是说“未找到传感器”)
public class MainActivity extends AppCompatActivity implements SensorEventListener {
public String TAG = "StepCount";
SensorManager sensorManager;
TextView tvSteps;
boolean running=false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvSteps=(TextView)findViewById(R.id.textView);
sensorManager=(SensorManager)getSystemService(Context.SENSOR_SERVICE);
}
@Override
protected void onResume() {
super.onResume();
Log.d(TAG, "onResume");
running=true;
Sensor counterSensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
if(counterSensor != null){
sensorManager.registerListener(this, counterSensor, SensorManager.SENSOR_DELAY_UI);
} else {
Log.d(TAG,"no sensor found");
}
}
@Override
protected void onPause() {
super.onPause();
}
@Override
public void onSensorChanged(SensorEvent event) {
Log.d(TAG, "onSensorChanged");
if(running) {
tvSteps.setText(String.valueOf(event.values[0]));
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
if(running) {
Log.d(TAG, "on accuracy changed");
}
}
public void onStepCount(View view) {
Log.d(TAG, "onStepCount");
running=true;
}
}