Собственная служба Tizen: невозможно определить местоположение

Я пытаюсь определить местоположение на своих часах Gear S3 Frontier. После включения службы определения местоположения я не могу получить никакого ответа.

Некоторый соответствующий код:

location_manager_h location_manager;                                            
location_service_state_e location_service_state = LOCATIONS_SERVICE_DISABLED;

void setup_location_manager()
{
    if (location_manager_create(LOCATIONS_METHOD_GPS, &location_manager) != LOCATIONS_ERROR_NONE)
    {
        dlog_print(DLOG_DEBUG, LOG_TAG, "setup_location_manager: Failed to setup the Location Manager.");
        service_app_exit();
    }

    if(location_manager_set_service_state_changed_cb(location_manager, location_state_changed_callback, NULL) != LOCATIONS_ERROR_NONE)
    {
        dlog_print(DLOG_DEBUG, LOG_TAG, "setup_location_manager: Failed to register service_state_changed callback for the Location Manager.");
        service_app_exit();
    }

    if(location_manager_set_position_updated_cb(location_manager, location_data_updated_callback, 1, NULL) != LOCATIONS_ERROR_NONE)
    {
        dlog_print(DLOG_DEBUG, LOG_TAG, "setup_location_manager: Failed to register location_updated callback for the Location Manager.");
        service_app_exit();
    }

        //THE LOGGER SHOWS THIS ON THE SCREEN
    dlog_print(DLOG_DEBUG, LOG_TAG, "setup_location_manager: Location Manager has been initialized successfully.");
}

void start_location_manager()
{
    handle_start_location_result(location_manager_start(location_manager));
}

void handle_start_location_result(int start_location_result)
{
    switch(start_location_result)
    {
        //Location Settings for the device are OFF
        case LOCATIONS_ERROR_GPS_SETTING_OFF:
            dlog_print(DLOG_DEBUG, LOG_TAG, "handle_location_manager_start_result: Please turn on the GPS Settings.");
            //service_app_exit();
            break;

        //Location Service is unavailable
        case LOCATIONS_ERROR_SERVICE_NOT_AVAILABLE:
            dlog_print(DLOG_DEBUG, LOG_TAG, "handle_location_manager_start_result: Location Service is currently unavailable. Please try again later.");
            //service_app_exit();
            break;

        //Location Service not supported
        case LOCATIONS_ERROR_NOT_SUPPORTED:
            dlog_print(DLOG_DEBUG, LOG_TAG, "handle_location_manager_start_result: Location Service is not supported on the current device.");
            //service_app_exit();
            break;

        //Location Manager is started successfully
        case LOCATIONS_ERROR_NONE:
            //THE LOGGER SHOWS THIS LINE
            dlog_print(DLOG_DEBUG, LOG_TAG, "handle_location_manager_start_result: Location Manager has been started working.");
            break;
    }
}

//LOGGER DOES NOT SHOW ANYTHING FROM HERE ONWARDS
void location_state_changed_callback(location_service_state_e state, void *user_data)
{
    dlog_print(DLOG_DEBUG, LOG_TAG, "location_state_changed_callback: Location Service State: %s", state);
    location_service_state = state;
    if (state == LOCATIONS_SERVICE_ENABLED)
    {
        dlog_print(DLOG_DEBUG, LOG_TAG, "location_state_changed_callback: Location Service is enabled now.");
        get_location_information();
    }
}

Файл журнала показывает следующие строки, относящиеся к местоположению:

  1. setup_location_manager: Диспетчер местоположения успешно инициализирован.

  2. handle_location_manager_start_result: Менеджер местоположений начал работать.

После этого я не получаю никаких обновлений от location_state_changed_callback. Повторная проверка источника кода тоже не помогло.


person Itban Saeed    schedule 26.11.2019    source источник


Ответы (1)


API-интерфейсы местоположения используются правильно, и инициализация диспетчера местоположений также прошла успешно. Для нас было бы полезно, если бы вы могли отправить журналы для анализа сбоев.

person Randeep singh    schedule 29.11.2019
comment
Это не дает ответа на вопрос. Получив достаточную репутацию, вы сможете прокомментировать любой пост; вместо этого предоставьте ответы, которые не требуют пояснений от спрашивающего. - person Anna; 29.11.2019