|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
定期的な測位において、測位結果を受け取るためのリスナを定義します。
トラッキングモードをサポートする測位方式のインスタンスに対して、
LocationProvider.setTrackingListener(TrackingListener listener,
int interval, int threshold)
にて、このリスナをセットすることで、
定期的に測位結果を受けとることができます。
上記メソッドにおいてリスナが設定されると、即座に定期的な測位が開始され、
引数 interval [msec] ごとに、設定されたリスナの
locationReceived(LocationProvider src,
Location result, Exception cause)
の引数 result に最新の測位結果がセットされた状態でコールバックされます。
なお、初回の測位結果が得られるまでは、コールバックは行われません。
初回の測位結果(その結果が成功か失敗かは問いません)
が得られた時点で初回のコールバックがなされ、
その後は interval [msec] ごとの定期的なコールバックとなります。
実装は、コールバックするスレッド(以後、 コールバックスレッドと呼びます) とは無関係に、定期的な測位を実施します(以後、 この定期的な測位を実施するスレッドを測位スレッドと呼びます)。
測位スレッドは、 interval [msec] ごとに測位結果が更新できるように振る舞いますが、 様々な要因によって測位の更新が間に合わない場合も有ることに注意してください。
測位スレッドが内部的に維持・管理している情報は以下の通りです。
コールバックスレッドは、
測位スレッドの測位状況に左右されることなく、
(初回の測位結果が得られてからは)常に
interval [msec] ごとに測位スレッドに最新の測位結果を問い合わせ、
その結果をコールバックします。
各コールバック時に、
locationReceived()
メソッドに設定される引数は以下の通りです。
なお、以下において、
各コールバック時の時刻(下記判定時の現在時刻)をTとします。
(interval + threshold) [msec]
経っても次の測位に成功しなかった場合
(T - Ts >
interval + threshold [msec] である場合)
は、測位不能状態となります。
その時の Location 型の引数 result
には null が、
Exception 型の引数 cause には、
(測位スレッドが)直前の測位に失敗した原因を表す例外オブジェクト(Cf)が、
それぞれ設定されています。
設定されている例外オブジェクトと、測位に失敗した原因との関係は、
通常の測位に失敗した原因と、その時に発生する例外の種類の関係と同様です。
T - Ts ≤
interval + threshold [msec] である場合)
には、Location 型の引数 result
には最新の測位(成功)結果(Ls)が、
Exception 型の引数 cause には
null が、それぞれ設定されています。
Suspended 状態に遷移した場合でも、
それらの状態から復帰した時点から定期的な測位、
ならびにコールバックを再開します。
リスナが設定されているにもかかわらずコールバックが停止することはありません。
コールバックを明示的に停止したい場合には
setTrackingListener() メソッドの第1引数に
null を指定して呼び出して下さい。
なお、メソッドがコールバックされる間隔や、測位不能とみなされる時間には、 サスペンド中の時間も含まれます。 具体的には、 Suspended 状態から復帰した場合には以下のように振る舞います。
[Star-1.1 以降]
ローミングアウト時に測位した場合、極端に位置精度が悪くなることがあります。
その場合、都市指定による測位を促す例外オブジェクトが通知されます。
現在滞在している都市を指定してLocationProvider.setTrackingListener(TrackingListener, int, int, int) メソッドを実行すると、
指定した都市に対応したアシストデータを取得して測位することができます。
都市情報のエントリ ID はCityInfoStore.selectEntryId()で取得することができます。
LocationProvider.setTrackingListener(TrackingListener, int, int)| メソッドの概要 | |
void |
locationReceived(LocationProvider src,
Location result,
Exception cause)
定期的な測位が開始されている場合に、 定期的にコールバックされます。 |
| メソッドの詳細 |
public void locationReceived(LocationProvider src,
Location result,
Exception cause)
src - このリスナが設定されている測位機能オブジェクトが設定されています。result - 最新の測位結果が設定されています。
測位不能な場合には null が設定されています。cause - 測位不能な場合に、
測位に失敗した原因となった例外オブジェクトが設定されています。
引数 result が非 null である場合には null が設定されています。
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
NTT DOCOMO,INC.
本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。
Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。
FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。
「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。
その他記載された会社名、製品名などは該当する各社の商標または登録商標です。