Pobieranie informacji o telefonie

fatalbomb

Dane dostępne przez System.getProperty()

Dostęp do informacji o telefonie daje nam statyczna metoda getProperty klasy System. Używamy jej w następujący sposób:
String s = System.getProperty ("właściwość");

gdzie zamiast słowa właściwość wpisujemy odpowiedni ciąg. Przykładowe informacje możliwe do pobrania to:

Nazwa właściwości Opis Przykładowa wartość
`microedition.configuration` Numer wersji CLDC CLDC-1.1
`microedition.profiles` Numer wersji MIDP MIDP-2.0
`microedition.platform` Nazwa platformy - przy okazji również nazwa modelu telefonu oraz wersja firmware SonyEricssonK750/R1CA021
`microedition.locale` Informacja o lokalizacji, w której używany jest telefon. Zmienia się zależnie od wybranego języka menu (zmiana języka w menu spowoduje zmianę tej wartości). Jeżeli dany język jest używany w więcej niż jednym kraju, dowiemy się również jaki jest to dialekt (np. 'en-US' oznacza angielski amerykański). en-US
`microedition.encoding`Używany standard kodowania znakówCp1250
`video.snapshot.encodings` Jeżeli telefon jest wyposażony w aparat fotograficzny: obsługiwane tryby zapisywania zdjęć encoding=jpeg&width=1024&height=1632
`wireless.messaging.sms.smsc`Numer centrum wiadomości+48602951111
`com.sonyericsson.imei`Numer IMEI (telefony SonyEricssona)IMEI 00460101-501594-5-00
`com.nokia.mid.imei`Numer IMEI (telefony Nokii)
`IMEI`Numer IMEI (telefony Motoroli)

Metoda może zgłosić wyjątek IllegalArgumentException w sytuacji, gdy podany ciąg znaków nie opisuje żadnej znanej właściwości (przykładowo: wywołanie System.getProperty ("foo") spowoduje wygenerowanie wyjątku). Jeżeli podamy referencję do pustego obiektu, zgłoszony zostanie również wyjątek NullPointerException (dotyczy to wszystkich przypadków użycia niezdefiniowanego obiektu).

Pobieranie informacji o pamięci

Przy okazji możemy dowiedzieć się, ile pamięci operacyjnej posiada nasz telefon. Służą do tego dwie metody obiektu Runtime:
  • freeMemory() - zwraca ilość dostępnej wolnej pamięci w bajtach;
  • totalMemory() - zwraca całkowitą ilość pamięci w bajtach.
Runtime r = Runtime.getRuntime(); // getRuntime() jest metodą statyczną
int free = r.freeMemory();
int total = r.totalMemory();

Pobieranie informacji o wyświetlaczu

Za pomocą metod getWidth() i getHeight() klasy Displayable (lub dziedziczącej po niej, typowo Canvas) możemy dowiedzieć się, jakie mamy wymiary ekranu dostępnego dla aplikacji.

Kilka metod udostępnia nam również klasa Display:

  • isColor() - zwraca true, jeżeli wyświetlacz jest kolorowy
  • numColors() - podaje ilość kolorów możliwą do wyświetlenia.
boolean czyKolorowy = display.getDisplay(this).isColor();
int liczbaKolorow = display.getDisplay(this).numColors();

2 komentarzy

Pobieranie informacji o numerze IMEI telefonów LG, Samsung i innych (nie wymienionych w tym artykule) jest możliwe??

Jest taka funkcja do Delphi albo Pascala?