2016-09-19 3 views
0

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

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

+0

Отредактировано решение для разработки веб-приложений –

ответ

2

Как приложение будучи слайд-Presenter дисплей часов не должен быть выключен, а пользователь перемещает слайды. Я бы предложил использовать Power API для управления дисплеем, делая приложение более удобным для пользователя.

void request (ресурс 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 reference для деталей реализации.

+0

После того, как датчик запущен и настроен обратный вызов, он выдаст данные, пока SCREEN_NORMAL (экран включен). –

+0

Привет, Армаан-UI-Ислам, спасибо вам за помощь! –

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_option и SENSOR_OPTION_ALWAYS_ON