Location Mockプロバイダーで、GPS Statusの供給についての質問

251 views
Skip to first unread message

Miurahr Miurahr

unread,
Aug 3, 2014, 9:33:15 AM8/3/14
to android-g...@googlegroups.com
三浦@オープンストリートマップ・ファウンデーション・Japan です

質問があります。

Bluetoothで Glonass/Beidou/QZSS/Galileoに対応したレシーバが
昨年から出てきたのですが、OSMのMapping用には、
既存のBluetoothコネクタアプリに満足できないので
ドライバーのようなものを書き始めました。

それで、
GpsStatus.Listenerで
onGpsStatusChanged()をOverrideしたクライアントへ
    GPS_EVENT_STARTED
    GPS_EVENT_STOPPED
    GPS_EVENT_FIRST_FIX
    GPS_EVENT_SATELLITE_STATUS
のイベントを送ることができます。
https://developer.android.com/reference/android/location/GpsStatus.Listener.html

それでGPS_EVENT_SATELLITE_STATUS を受け取った
クライアントは、getGpsStatus(gpsStatus)を呼び出して、
Satellite_Statusなどを習得することが推奨されています。

ところが、gpsStatusを送り込むAPIを見つけることができません。
そのため、クライアント(OpenStreetMapのトラッカーをターゲットにしています)
へ、GPSの状態を伝えることが出来ず、トラッカーアプリの表示上、
信号状態などを正しく表示することができません。

プロジェクトは、GPL v3で公開開発されています。
https://github.com/miurahr/bluegnss4osm

Mock Location Provider, NMEA Providerは動作させられていますが、
ここで行き詰っています。
API上、GPS_EVENT_SATELLITE_STATUS をクライアントへ送り込めるのですから、
対応するクラス/メソッドが有るはずだと思うのですが。

アドバイスいただければ、幸いです。

以下のあたりがソレっぽいとはおもうのですが。

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.L_preview/android/location/IGpsStatusListener.java/

以上

大和田健一

unread,
Aug 4, 2014, 9:03:23 AM8/4/14
to 日本Androidの会
> gpsStatusを送り込むAPIを見つけることができません

少し前に調べたことがあります。
公開API は用意されていないようです。
リフレクションを使うしかないようです。
詳しくは下記をご覧下さい。

---
大和田健一 <ml.o...@gmail.com>


--
このメールは Google グループのグループ「日本Androidの会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。
このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

Reply all
Reply to author
Forward
0 new messages