【发布时间】:2020-06-27 18:19:49
【问题描述】:
我有一个非常简单的手表应用程序,它试图检测运动:
package com.example.watchapp;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.hardware.TriggerEvent;
import android.hardware.TriggerEventListener;
import android.os.Bundle;
import android.util.Log;
import java.util.List;
public class MainActivity extends AppCompatActivity implements SensorEventListener {
private static final String TAG = "CUSTOM_TAG";
private SensorManager sensorManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
List<Sensor> deviceSensors = sensorManager.getSensorList(Sensor.TYPE_ALL);
for (Sensor deviceSensor : deviceSensors) {
System.out.println("sensor : " + deviceSensor.getName());
}
setContentView(R.layout.activity_main);
}
@Override
public final void onSensorChanged(SensorEvent event) {
int sensorType = event.sensor.getType();
switch (sensorType) {
case Sensor.TYPE_ACCELEROMETER:
float valueX = event.values[0];
float valueY = event.values[1];
float valueZ = event.values[2];
System.out.println("Sensor Changed value:");
Log.d(TAG, "Sensor Changed value:" + valueX + ":" + valueY + ":" + valueZ);
break;
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}
使用模拟器在手机上模拟运动:
onSensorChanged 事件似乎没有被触发,因为“传感器更改值:”没有打印到 Android Studio 控制台。我应该使用可穿戴应用程序来模拟手表应用程序上的运动,是否有特定的模拟器?还是我没有正确编码应用程序?
【问题讨论】:
-
我不确定传感器模拟器是否适用于 Android Wear 设备。我知道它在 Android 模拟器上运行良好,但我从未在 Android Wear 上测试过。
标签: java android android-emulator wear-os