Symbian UIQ Javaphone API

DOWNLOAD classi (javaphone.jar)
DOWNLOAD documentazione PDF

Panoramica
Questo file .jar (Java ARchive) contiene le classi  Java necessarie per accedere alle funzionalità del telefono tramite PersonalJava sui cellulari abilitati (Motorola a1000 sicuramente; probabilmente anche Nokia Communicator 92xx; il SonyEricsson p800 e p9xx non supportano le JavaPhone API, al contrario di quanto dice la loro documentazione tenica).

Il file include le Java Telephony API (JTAPI - JSR 043), che permettono di accedere a varie funzioni integrate nel cellulare (agenda, rubrica, SMS, IMEI, IMSI,...). Non tutte le classi elencate nella documentazione ufficiale risultano pero' presenti nel file. Consultare le pagine del mio blog per ulteriori dettagli.

Note varie
L'utilizzo delle JavaPhone API consente di inviare SMS senza richiesta di conferma da parte dell'utente; questo potrebbe causare problemi di sicurezza. Non è invece implementata la possibilità di riceverli (*).

E' possibile anche accedere a informazioni quali l'IMEI, l'IMSI (numero della SIM), alla rubrica del cellulare e altro. 

Non mi risulta che esistano cellulari Nokia Series60 che supportino le Javaphone API.

Il PersonalJava è un "ramo secco" nello sviluppo del "java portatile", ormai completamente rimpiazzato da J2ME con il Personal Profile. PersonalJava non è più nè sviluppato nè supportato da Sun.

Il contenuto di javaphone.jar può essere esaminato aprendo il file con WinZip o simili, in quanto è un semplice archivio ZIP rinominato. Le classi al suo interno sono compilate, ma non sono offuscate, per cui possono essere facilmente decompilate con un qualunque Java Decompiler, ed esaminate per capire il  funzionamento di quelle classi per le quali non è disponibile documentazione.

La classe PowerMonitor, che dovrebbe permettere di leggere lo stato di batteria e caricabatterie, non funziona sull'a1000: vengono restituiti sempre gli stessi valori costanti.


Documentazione
Download ufficiale SUN
Online
Kickjava.com
Altra documentazione


Riferimenti
In caso di scoperte interessanti sull'accesso a funzioni non documentate delle JTAPI, nonm esitate a contattarmi!
jumpjack at libero dot it





(*)almeno, non nelle classi Java, in cui il metodo che dovrebbe attivare la ricezione lancia invece un'eccezione; sembra pero' che nell'eseguibile della Virtual Machine esista il codice per la ricezione degli SMS, per cui FORSE si tratta "solo" di modificare e ricompilare le classi per abilitare alla ricezione dgli SMS; ma bisogna scoprire quali classi aggiuntive sono necessarie per ricompilare quelle contenute in Javaphone.jar