在后台使用 Samsung Gear S2 中的加速度计

Using accelerometer in Samsung Gear S2 in background

我正在创建一个使用加速度计移动幻灯片的幻灯片演示器应用程序。但是当我移动手表时,它的显示关闭,并且事件没有得到处理。如何获得事件显示关闭模式?

抱歉,我忘了说我正在使用 Web 应用程序开发。

使用此代码。

int ret = sensor_is_supported(SENSOR_ACCELEROMETER, &supported);
if (ret != SENSOR_ERROR_NONE || !supported)
  return;

sensor_h sensor;
ret = sensor_get_default_sensor(SENSOR_ACCELEROMETER, &sensor);
if (ret != SENSOR_ERROR_NONE)
  return;

ret = sensor_create_listener(sensor, &accelerometer_listener);
if (ret != SENSOR_ERROR_NONE)
  return;

ret = sensor_listener_set_event_cb(accelerometer_listener, 200, AccelerometerCb, nullptr);
if (ret != SENSOR_ERROR_NONE)
{
  sensor_destroy_listener(accelerometer_listener);
  accelerometer_listener = nullptr;
  return;
}

ret = sensor_listener_set_option(accelerometer_listener, SENSOR_OPTION_ALWAYS_ON);
if (ret != SENSOR_ERROR_NONE)
{
  // Fail to set always on
}

点是sensor_listener_set_option and SENSOR_OPTION_ALWAYS_ON

由于该应用是幻灯片演示器,所以当用户移动幻灯片时手表显示屏不应关闭。我建议使用 Power API 来控制显示,使应用程序更加用户友好。

无效请求(PowerResource 资源,PowerState 状态);

void release(PowerResource resource);

您可以使用 tizen.power.request() 函数请求在应用 运行 时保持显示。

tizen.power.request("SCREEN", "SCREEN_NORMAL");

您应该考虑在退出应用程序之前释放锁定。

tizen.power.release("SCREEN");

在您的 config.xml 文件中添加电源权限以使用电源 API。

<tizen:privilege name="http://tizen.org/privilege/power"/>

请检查Power State Guide and Power API reference 以了解实施的详细信息。