Использование акселерометра в Samsung Gear S2 в фоновом режиме

Я создаю приложение slidepresenter, которое перемещает слайд с помощью акселерометра. Но когда я перемещаю часы, их дисплей отключается, и событие не обрабатывается. Как я могу отключить отображение событий?

Извините, но я забыл сказать, что я использую разработку веб-приложений.

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 API.

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

Пожалуйста, проверьте Power State Guide и Power API ссылки для деталей реализации.

Используйте этот код.

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 а также SENSOR_OPTION_ALWAYS_ON

Другие вопросы по тегам