Использование акселерометра в 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