Подтвердить что ты не робот

Является ли android.os.Build.SERIAL уникальным?

Я хотел бы использовать уникальный идентификатор для Android-устройства, который работает для телефона и планшета. (IMEI не работает без SIM-карты и когда-то MAC-адрес возвращает null)

Я не уверен, что isroid.os.Build.SERIAL уникален или нет.

Кто-нибудь знает об этом?

Спасибо, С наилучшими пожеланиями.

4b9b3361

Ответ 1

Да, но обратите внимание, что он был добавлен только в уровне API 9, и он может отсутствовать на всех устройствах. Чтобы получить уникальный идентификатор на более ранних платформах, вам нужно прочитать что-то вроде MAC-адреса или IMEI.

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

Ответ 2

Serial был открыт только в API: 9. но вы можете получить его в старых версиях, используя отражение. Однако в документах упоминается "если доступно", поэтому я думаю, что не полагайтесь на него.

String deviceSerial = (String) Build.class.getField("SERIAL").get(
                    null);

Ответ 3

Я думаю, что для уникального Id вы должны использовать android Id.  Ниже приведен код для получения идентификатора Android.

String android_id = Secure.getString(this.getContentResolver(),
            Secure.ANDROID_ID);
Log.d("Android","Android ID : "+android_id);

Ответ 4

Если есть, то ожидаемый будет уникальным. Но нет гарантии, что это свойство установлено. Также это API 9. К сожалению, нет простого способа однозначно идентифицировать устройство. Некоторые свойства, такие как указанный SERIAL , могут, другие, такие как ANDROID_ID, как НЕ уникальные, некоторые другие, такие как MAC, зависят от наличия WIFI или его состояния (если модуль Wi-Fi выключен, возможно, вы не сможете прочитать его MAC). Некоторым вроде IMEI не может быть прочитано даже устройство, получившее телефонный модуль. Таким образом, лучший подход состоит в том, чтобы собрать как можно больше данных, и попытаться создать что-то, что вы могли бы скорее всего рассмотреть уникальный идентификатор устройства

Ответ 5

Вы можете использовать Build serial and android ID, чтобы создать свой собственный уникальный идентификатор.

String serial =    Build.SERIAL;
String android_id =Secure.getString(context.getContentResolver(),
                   Secure.ANDROID_ID);

String myKey=serial +android_id ;

Ответ 6

Как насчет комбинации MAC, IMEI и SERIAL?

Вам просто нужно иметь дело с тем, что все они могут быть несуществующими esp. на старых телефонах без SIM-карты.

Я просто считаю странным, что MAC вернет null. Это не должно быть возможным imho, поскольку нет никакого смысла в том, что мобильное устройство не имеет MAC.

Возможны 2 MAC-адреса, но в некоторых случаях они могут быть недоступны.