Galaxy S3 имеет датчик температуры?

Я создаю приложение для термометра в Android, когда я тестирую Galaxy S3, оно показывает, что

TYPE_AMBIENT_TEMPERATURE NOT Available

TYPE_TEMPERATURE NOT Available

Я хочу знать, у Galaxy S3 есть вышеуказанные датчики или нет? или Как я могу решить эту проблему, чтобы получить температуру?


person user3409263    schedule 02.04.2014    source источник
comment
Galaxy S3 не имеет датчика температуры.   -  person Yohanes Khosiawan 许先汉    schedule 02.04.2014
comment
подскажите, пожалуйста, есть ли альтернативный способ получить температуру?   -  person user3409263    schedule 02.04.2014
comment
ссылка: здесь (play.google.com/store/apps /details?id=com.envyandroid.tempsens) сказали ..Galaxy S4 and Galaxy Note 3, which currently are the only devices with a real temperature sensor..; Я не уверен в другом обходном пути, но у вас есть только барометр в S3, может быть, вы можете оценить температуру по данным барометра? ну, я действительно не уверен в этом..   -  person Yohanes Khosiawan 许先汉    schedule 02.04.2014
comment
Чего именно вы пытаетесь достичь? Какова цель измерения температуры?   -  person Defozo    schedule 04.09.2016


Ответы (3)


Как сказал Йоханнес в комментарии, вы можете рассчитать только стандартную температуру атмосферы, которая бесполезна для повседневного использования, в основном используемого в авиации.

Вот оценка температуры по сравнению с барометрической высотой. http://home.anadolu.edu.tr/~mcavcar/common/ISAweb.pdf (стр. 2).

Кажется, единственный способ использовать внешний датчик температуры с Bluetooth или подобными вещами и требовать этот датчик в продвижении вашего приложения.

Это действительно круто: http://www.bee-wi.com/bbw200,us,4,BBW200-A1.cfm

person ugur    schedule 04.04.2016

Простой способ проверить, существует ли датчик на конкретном целевом телефоне, — установить приложение, такое как AndroSensor. В нем будут перечислены все доступные датчики.

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

person SidJ    schedule 02.04.2014
comment
как я могу получить температуру без использования датчиков? - person user3409263; 02.04.2014
comment
Вы не можете на самом деле. Вы можете подключиться к веб-службе, которая предоставляет информацию о погоде в зависимости от местоположения телефона, например это приложение play.google.com/store/apps/ - person SidJ; 03.04.2014
comment
@user3409263 user3409263 Я бы рекомендовал посмотреть этот маршрут, если вы хотите сделать свое приложение доступным примерно для 98% пользователей. Очень немногие устройства имеют датчик температуры, но почти у всех есть интернет и сигнал GPS. - person zgc7009; 04.05.2016

Не уверен, что это относится и к Galaxy S3, но вы можете попробовать поискать датчики со значением типа выше TYPE_DEVICE_PRIVATE_BASE. Многие телефоны (например, Nexus 5x и Pixel 3) имеют один или даже несколько датчиков, которые отображают показания температуры через него, и вы обычно можете определить это по названию датчика (например, «Температура BMI160» или «Температура BMP380», оба на пиксель 3).

Эти «датчики, определяемые поставщиком» обычно относятся к датчикам, которым требуется чтение температуры для компенсации / калибровки (BMI160 — это IMU, а BMP380 — барометр Pixel 3). В частности, барометры, скорее всего, имеют температурный канал.

Однако есть веская причина, по которой производитель не предлагает эти показания температуры через официальный тип TYPE_AMBIENT_TEMPERATURE: размещение термометра внутри закрытого устройства, которое нагревается изнутри, не является хорошим методом измерения температуры окружающей среды. Особенно, если показания температуры предназначены только для компенсации температурного дрейфа датчика, вы не получите ничего полезного, поскольку вы в основном измеряете температуру внутри своего телефона. Даже если телефон официально измеряет температуру окружающей среды, результаты не будут очень точными по тем же причинам.

person Sebastian Staacks    schedule 09.10.2019