在三星Gear S2中使用加速度计在后台

时间:2016-09-19 16:41:56

标签: tizen tizen-wearable-sdk tizen-web-app samsung-gear-s2

我正在创建一个使用加速计移动幻灯片的幻灯片放映器应用。但是,当我将手表移开时,它的显示也没有被处理掉。如何让事件显示关闭模式?

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

2 个答案:

答案 0 :(得分:2)

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

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

void release(PowerResource资源);

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

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

您应该考虑在退出应用之前解除锁定。

tizen.power.release("SCREEN");

在config.xml文件中添加power权限以使用Power API。

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

请查看Power State GuidePower API reference 了解具体实施情况。

答案 1 :(得分:0)

使用此代码。

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_optionSENSOR_OPTION_ALWAYS_ON