Pobieranie informacji o telefonie
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ów | Cp1250 |
| 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();
Pobieranie informacji o numerze IMEI telefonów LG, Samsung i innych (nie wymienionych w tym artykule) jest możliwe??