Izinkan saya merangkum masalah saya dan apa yang ingin saya capai.
Saya memiliki ponsel SonyEricsson X10i dengan Android 2.3.3. Saya menyadari bahwa terkadang ponsel saya tidak menerima panggilan meskipun itu menunjukkan jangkauan penuh. Saya memeriksa sendiri di MSC/VLR dan itu menunjukkan bahwa saya mendaftar dan ponsel saya sedang aktif (dan juga tidak ada tanda IMSI DETACH), jadi seharusnya berfungsi dengan benar (hanya Tanggal Aktifkan terakhir yang agak lama ~beberapa dari jam, yang juga bagus, tanpa SMS/Panggilan/Pembaruan Lokasi), seperti yang saya sebutkan sebelumnya, telepon menunjukkan jangkauan penuh dan sepertinya berada di jaringan. Namun ketika saya mencoba meneleponnya, saya hanya mencapai Pesan Suara. Di MSC/VLR saya melihat No Paging Response Cause untuk panggilan tersebut, namun telepon tidak melakukan apa pun. Saya mencoba dengan versi SW lainnya (4.0.3 ICS), tetapi hasilnya sama. Tapi saya tidak melihat perilaku serupa dengan handset berbeda (tipe yang sama). Maaf untuk ringkasan yang panjang.
Jadi karena apa yang saya jelaskan di atas, saya mencoba menulis aplikasi/layanan yang akan melakukan pembaruan lokasi GSM/UMTS dalam 15-20 menit, tetapi saya tidak dapat menemukan prosedur apa pun di android.telephony.gsm.GsmCellLocation
, android.telephony.TelephonyManager
yang dapat melakukan ini untuk saya.
Kekhawatiran saya yang lain adalah prosedur getState()/setStateOutOfService()/ setState()
dari kelas ServiceState… Tampaknya prosedur tersebut tidak benar-benar berfungsi. Misalnya, saat saya pertama kali memanggil getState() saya selalu mendapatkan kembali STATE_OUT_OF_SERVICE, dan itu tidak benar… Saat saya menyetel status ke STATE_POWER_OFF
atau STATE_IN_SERVICE
, setidaknya Saya mendapatkan kembali status tersebut dari getState()
setelahnya, namun telepon tidak melakukan apa pun untuk itu. (Bahkan tidak menunjukkan di luar jangkauan, dll…)
Setiap saran/komentar dipersilakan.