0

我是android传感器和通知的新手。我正在处理传感器数据(光线、接近度、加速度计和陀螺仪传感器)。我的目标是制作一个应用程序,它将在四个不同的卡片视图中显示四个传感器值。我已经正确地做到了。但是,在从任务管理器关闭应用程序以及四个实时传感器值如何在通知栏中显示后,我遇到了如何在后台运行该应用程序的问题。我没有通过互联网获得有意义的适当解决方案。我需要帮助来解决问题。

代码:

    @Override
public void onSensorChanged(SensorEvent event) {

    if (event.sensor.getType() == Sensor.TYPE_LIGHT) {
        LightSensorXvalue.setText(String.valueOf(event.values[0]));
        LightSensorYvalue.setText(String.valueOf(event.values[1]));
        LightSensorZvalue.setText(String.valueOf(event.values[2]));


    }
    if (event.sensor.getType() == Sensor.TYPE_GYROSCOPE) {
        PorximitySensorXvalue.setText(String.valueOf(event.values[0]));
        PorximitySensorYvalue.setText(String.valueOf(event.values[1]));
        PorximitySensorZvalue.setText(String.valueOf(event.values[2]));

    }

    if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
        AccelerometerXvalue.setText(String.valueOf(event.values[0]));
        AccelerometerYvalue.setText(String.valueOf(event.values[1]));
        AccelerometerZvalue.setText(String.valueOf(event.values[2]));

    }

    if (event.sensor.getType() == Sensor.TYPE_GYROSCOPE) {
        gyroscopeXvalue.setText(String.valueOf(event.values[0]));
        gyroscopeYvalue.setText(String.valueOf(event.values[1]));
        gyroscopeZvalue.setText(String.valueOf(event.values[2]));
    }

}
4

1 回答 1

0
  • 您将需要自定义通知(参考:https ://developer.android.com/training/notify-user/custom-notification )来创建自定义内容,因为默认通知仅支持图标和标题+其他 2 行简单文本
  • 此外,您将需要 RemoteView 来控制此自定义布局(参考:如何使用 RemoteViews 更新通知?)并一一更新值
  • 最后,当有效/单一/静态通知运行良好时,您可以创建一个服务(参考:https ://developer.android.com/guide/components/services ),即使在应用程序运行时也能继续工作在后台,通过 RemoteView 更新自定义视图的位置
于 2020-12-30T15:29:01.230 回答