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