Как получить данные GPS? эмулятор всегда возвращает время работы GPS отключен на родном Tizen - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь получить доступ к данным GPS в приложении Tizen. Я включил расположение запрашиваемых разрешений, привилегий и предоставил разрешение на эмуляторе. Но когда я запускаю код для доступа к информации о местоположении, он получает нулевые значения. Для информации о местонахождении во время выполнения он получает эквивалентный результат GPS Disabled. Мне нужно получить доступ к текущему введенному местоположению в эмуляторе.

Пример кода для проверки состояния GPS:

retCheck = runtime_info_get_value_int(RUNTIME_INFO_KEY_GPS_STATUS,
        &value_int);
if (retCheck != RUNTIME_INFO_ERROR_NONE) {
    dlog_print(DLOG_ERROR, LOG_TAG, "runtime_info_get_value_int error: %d",
            retCheck);

    snprintf(chars, sizeof(chars),
            "<br>runtime_info_get_value_int error: %d", retCheck);

    strcat(str, chars);
    return;
} else {
    switch (value_int) {
    case RUNTIME_INFO_GPS_STATUS_DISABLED:
        dlog_print(DLOG_DEBUG, LOG_TAG, "GPS status: DISABLED.");
        snprintf(chars, sizeof(chars), "<br>GPS status: DISABLED.");
        strcat(str, chars);
        break;

    case RUNTIME_INFO_GPS_STATUS_SEARCHING:
        dlog_print(DLOG_DEBUG, LOG_TAG, "GPS status: SEARCHING.");
        snprintf(chars, sizeof(chars), "<br>GPS status: SEARCHING.");
        strcat(str, chars);
        break;

    case RUNTIME_INFO_GPS_STATUS_CONNECTED:
        dlog_print(DLOG_DEBUG, LOG_TAG, "GPS status: CONNECTED.");
        snprintf(chars, sizeof(chars), "<br>GPS status: CONNECTED.");
        strcat(str, chars);
        break;

    default:
        dlog_print(DLOG_DEBUG, LOG_TAG, "GPS status: Unknown.");
        snprintf(chars, sizeof(chars), "<br>GPS status: Unknown.");
        strcat(str, chars);
        break;
    }

Здесь возвращается Serarching.

Пример кода для GPS информация о местоположении:

//init location manager with gps type.

location_manager_get_location(gps, &altitude, &latitude, &longitude, &climb,
        &direction, &speed, &level, &horizontal, &vertical, &timestamp);

snprintf(chars, sizeof(chars),
        "<br>In GPS: altitude %f, latitude %f, longitude %f, climb %f, direction %f, speed %f, horizontal %f, vertical %f",
        altitude, latitude, longitude, climb, direction, speed, horizontal,
        vertical);

Здесь все значения равны 0.

Что делать, чтобы получить данные GPS?

Изменить решение: Требуется получить информацию об обратном вызове менеджера местоположения.

1 Ответ

1 голос
/ 02 апреля 2020

Убедитесь, что ваш GPS включен (вручную включите в настройках эмулятора-> Местоположение-> GPS).

Может быть, эта статья поможет вам для получения дополнительной информации о местоположении https://docs.tizen.org/application/native/guides/location-sensors/location

Также проверьте эту привилегию (http://tizen.org/privilege/location).

Кажется, что проблема с включением GPS, мы не можем получить значения местоположения в отключенном состоянии GPS.

...