com.docomostar.device.location
クラス LocationProvider

Object
  上位を拡張 com.docomostar.device.location.LocationProvider

public class LocationProvider
extends Object
 [iアプリオプションAPI]

現在地を測位する機能にアクセスする手段を提供します。

測位する機能にアクセスするには、getLocationProvider() を呼び出し、 測位機能を表すインスタンスを取得する必要があります。

インスタンス取得後、 そのインスタンスに対して setMeasurementMode(int) を用いて測位モードを設定することができます。 実際に設定することが可能な測位モードについては、 getAvailableMeasurementMode() により調べることができます。

インスタンスに設定されている測位モードは、 getMeasurementMode() によって取得することができます。 ここで指定した測位モードが測位精度や反応速度に与える影響は機種依存です。 詳しくはそれぞれのフィールドの説明を参照してください。

取得したインスタンスの getLocation() メソッドを呼び出すと、 指定した測位モードで現在地の測位を行います。 その際、Star アプリはサスペンドしません。 測位により得られた位置情報は、 測位結果オブジェクトとして返されます。

導入されたバージョン:
Star-1.0

フィールドの概要
static int CAPABILITY_TRACKING_MODE
           測位方式の能力を表す定数値で、 トラッキングモード(定期的な測位)が利用可能なことを表します(=0)。
static int DATUM_TOKYO
          東京測地系を表す定数値です(=1)。
static int DATUM_WGS84
          WGS84 測地系を表す定数値です(=0)。
static int METHOD_STANDALONE
           測位方式を表す定数値で、 自律測位を行うことを表します(=1)。
static int METHOD_STANDARD
           測位方式を表す定数値で、 標準測位方式を表します(=0)。
static int MODE_QUALITY_PRIORITY
           測位モードを表す定数値で、 品質重視モードで測位を行うことを表します(=1)。
static int MODE_STANDARD
           測位モードを表す定数値で、 標準モードで測位を行うことを表します(=0)。
static int UNIT_DEGREE
          DEGREE 単位を表す定数値です(=1)。
static int UNIT_DMS
          DMS 単位(精度 1/100 秒)を表す定数値です(=0)。
static int UNIT_DMS_2
          DMS 単位 (精度 1/1000 秒) を表す定数値です(=2)。
 
メソッドの概要
static int[] getAvailableLocationMethod()
           サポートされている測位方式を取得します。
static int[] getAvailableLocationMethod(int capability)
           指定された能力を持つ測位方式で、 サポートされているもののリストを取得します。
 int[] getAvailableMeasurementMode()
           設定可能な測位モードを取得します。
 Location getLocation()
           測位を行います。
 Location getLocation(int timeout)
           測位機能インスタンス生成時に指定された測位方式で測位を行います。
 Location getLocation(int timeout, int id)
           ローミングアウト時に、都市情報を指定して測位を行います。
static LocationProvider getLocationProvider()
           デフォルトの測位方式で測位を行う、 測位機能のインスタンスを生成して返します。
static LocationProvider getLocationProvider(int method)
           指定された測位方式で測位を行う、 測位機能のインスタンスを生成して返します。
 int getMeasurementMode()
           このインスタンスが測位時に使用する測位モードを取得します。
 int getMinimalInterval()
           定期的な測位を実施するときに指定可能な、測位間隔の最小値を取得します。
 void interrupt()
           測位を中断させます。
 void setMeasurementMode(int mode)
           測位モードを指定します。
 void setTrackingListener(TrackingListener listener, int interval, int threshold)
           定期的な測位を開始、または停止します。
 void setTrackingListener(TrackingListener listener, int interval, int threshold, int id)
           ローミングアウト時に、都市情報を指定して定期的な測位を開始、または停止します。
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DATUM_TOKYO

public static final int DATUM_TOKYO
東京測地系を表す定数値です(=1)。

関連項目:
Location.getDatum(), Location.transform(int), 定数フィールド値

DATUM_WGS84

public static final int DATUM_WGS84
WGS84 測地系を表す定数値です(=0)。

関連項目:
Location.getDatum(), Location.transform(int), 定数フィールド値

UNIT_DMS

public static final int UNIT_DMS
DMS 単位(精度 1/100 秒)を表す定数値です(=0)。

関連項目:
Location.getLatitudeString(int, int), Location.getLongitudeString(int, int), 定数フィールド値

UNIT_DEGREE

public static final int UNIT_DEGREE
DEGREE 単位を表す定数値です(=1)。

関連項目:
Location.getLatitudeString(int, int), Location.getLongitudeString(int, int), 定数フィールド値

UNIT_DMS_2

public static final int UNIT_DMS_2
DMS 単位 (精度 1/1000 秒) を表す定数値です(=2)。

関連項目:
Location.getLatitudeString(int, int), Location.getLongitudeString(int, int), 定数フィールド値

MODE_QUALITY_PRIORITY

public static final int MODE_QUALITY_PRIORITY

測位モードを表す定数値で、 品質重視モードで測位を行うことを表します(=1)。

getLocation() を呼び出した際に、 できるだけ精度の高い測位結果を取得しようとします。 ただし、標準モードにて測位した場合に比べ、 測位にかかる時間が長くなる場合があります。

関連項目:
setMeasurementMode(int), 定数フィールド値

MODE_STANDARD

public static final int MODE_STANDARD

測位モードを表す定数値で、 標準モードで測位を行うことを表します(=0)。

測位モードのデフォルト値です。

getLocation() を呼び出した際に、 できるだけ早く測位結果を取得しようとします。 ただし、品質重視モードにて測位した場合に比べ、 測位結果の精度が低くなる場合があります。

関連項目:
setMeasurementMode(int), 定数フィールド値

METHOD_STANDARD

public static final int METHOD_STANDARD

測位方式を表す定数値で、 標準測位方式を表します(=0)。

関連項目:
getLocationProvider(int), getAvailableLocationMethod(), 定数フィールド値

METHOD_STANDALONE

public static final int METHOD_STANDALONE

測位方式を表す定数値で、 自律測位を行うことを表します(=1)。

getLocation() を呼び出した際に、 基地局からのアシストデータ無しに測位を行います。 そのため、通話圏外でも測位できるというメリットが有りますが、 測位精度や測位にかかる時間は、他の測位方式に比べて劣ります。

関連項目:
getLocationProvider(int), getAvailableLocationMethod(), 定数フィールド値

CAPABILITY_TRACKING_MODE

public static final int CAPABILITY_TRACKING_MODE

測位方式の能力を表す定数値で、 トラッキングモード(定期的な測位)が利用可能なことを表します(=0)。

関連項目:
getAvailableLocationMethod(int), 定数フィールド値
メソッドの詳細

getAvailableLocationMethod

public static int[] getAvailableLocationMethod()

サポートされている測位方式を取得します。 サポートされている測位方式のリストが返されます。

戻り値の配列に含まれている値であれば、 getLocationProvider(int) の引数に指定しても UnsupportedOperationException が発生しないことが保証されています。

また、戻り値の第0要素は、無引数の getLocationProvider() が呼び出された時に得られるインスタンスの測位方式です。

位置情報取得機能そのものをサポートしていない場合は null が返されます。

ミニマムスペック:
ミニマムスペックでは、METHOD_STANDARD をサポートしています。

戻り値:
サポートされている測位方式 (このクラスに定義されているMETHOD_から始まる定数) が全て格納された一次元配列を返します。 返される配列は、このクラスが内部で保持している配列のコピーです。 位置情報取得機能そのものをサポートしていない場合 (サポートされている測位方式が1つも無い場合) は null を返します。
関連項目:
METHOD_STANDARD, getLocationProvider(), getLocationProvider(int)

getAvailableLocationMethod

public static int[] getAvailableLocationMethod(int capability)

指定された能力を持つ測位方式で、 サポートされているもののリストを取得します。

このメソッド呼び出しで得られる測位方式の集合は、 常に getAvailableLocationMethod() メソッド呼び出しで得られる測位方式の集合のサブセットとなっています。

ミニアプリからはトラッキングモードを利用できません。 ミニアプリ実行時に、引数 capability に CAPABILITY_TRACKING_MODE を指定した場合、 このメソッドは null を返します。

ミニマムスペック:
(フルアプリのみ) 引数 capability に CAPABILITY_TRACKING_MODE が指定された場合、 ミニマムスペックでは、METHOD_STANDARD をサポートしています。

パラメータ:
capability - 取得したい測位方式が持つべき能力を表す定数 (このクラスに定義されている CAPABILITY_ から始まる定数) を指定します。
戻り値:
実装がサポートしており、かつ、 指定された能力を持つ測位方式 (このクラスに定義されている METHOD_ から始まる定数) が全て格納された一次元配列を返します。 返される配列は、このクラスが内部で保持している配列のコピーです。 サポートされている測位方式の中に該当するものが無い場合には null を返します。
例外:
IllegalArgumentException -
引数 capability に不正な値が指定された場合に発生します。

getLocationProvider

public static LocationProvider getLocationProvider(int method)

指定された測位方式で測位を行う、 測位機能のインスタンスを生成して返します。

引数には、本クラスに定義されている METHOD_ から始まる定数を指定できますが、どの方式をサポートしているかは、 位置情報取得機能そのものをサポートしているかどうかも含めて機種依存です。 それらのサポート状況を調べるためには getAvailableLocationMethod() を呼び出してください。 そのメソッドの返り値に含まれていない測位方式が指定された場合には、 UnsupportedOperationException が発生します。

複数回呼び出された場合は毎回異なるインスタンスを生成して返しますが、 測位方式が異なるもの同士であっても、getLocation(int) メソッドを同時に(並行に)呼び出すことはできません。 同時に呼び出した場合、後に呼び出したスレッドには例外が発生します。

パーミッションとして位置情報APIの利用が許可されているトラステッドStar アプリのみ、 このメソッドを呼び出すことができます。 パーミッションとして位置情報APIの利用が許可されていない場合、Star アプリは強制終了します。

パラメータ:
method - インスタンスを取得したい測位方式を指定します。
戻り値:
測位機能のインスタンスを返します。
例外:
UnsupportedOperationException -
測位機能がサポートされていないか、 サポートされていない測位方式が指定された場合に発生します。
SecurityException -
パーミッションとして位置情報APIの利用が許可されているが、 Star アプリ個別のユーザ設定により許可されない場合に発生します。

getLocationProvider

public static LocationProvider getLocationProvider()

デフォルトの測位方式で測位を行う、 測位機能のインスタンスを生成して返します。 デフォルトの測位方式は、 getAvailableLocationMethod() の戻り値の先頭の要素ですが、その具体的な値は機種依存です。 測位機能そのものがサポートされていない場合には UnsupportedOperationException が発生します。

測位機能がサポートされている場合は、 getLocationProvider(int) の引数に getAvailableLocationMethod()[0] を指定して呼び出した場合と同じ振る舞いをします。

戻り値:
測位機能のインスタンスを返します。
例外:
UnsupportedOperationException -
位置情報取得機能をサポートしていない場合に発生します。
SecurityException -
パーミッションとして位置情報APIの利用が許可されているが、 Star アプリ個別のユーザ設定により許可されない場合に発生します。

getLocation

public Location getLocation()
                     throws LocationException

測位を行います。 このメソッドは getLocation(int) の引数に デフォルトのタイムアウト値を指定したものと等価です。 デフォルトのタイムアウト値については、機種依存です。

戻り値:
位置情報オブジェクトを返します。
例外:
DeviceException -
(BUSY_RESOURCE)
現在実行中の Star アプリや、ネイティブ機能において、 既に測位実施中の場合に発生します。
DeviceException -
(BUSY_RESOURCE)
現在実行中の Star アプリで、setTrackingListener(TrackingListener, int, int) および setTrackingListener(TrackingListener, int, int, int) の引数 listener に、 null 以外が設定されている場合に発生します。
LocationException -
(SELF_MODE)
端末がセルフモードの場合に発生します。
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、 測位が禁止されている場合に発生します。
LocationException -
(CITYINFO_REQUIRED)
[Star-1.1 以降] ローミングアウト時に良好な測位結果が得られず、都市情報を指定して測位する必要がある場合に発生します。
LocationException -
(OUT_OF_SERVICE)
圏外または GPS 圏外などにより測位に失敗した場合に発生します。
LocationException -
(TIMEOUT)
このメソッドを呼び出してから、 デフォルトのタイムアウト値だけ経過しても、 測位結果が得られない場合に発生します。
LocationException -
(INTERRUPTED)
Suspended 状態に遷移した場合や、 interrupt() メソッド等により中断要求が発生した場合に発生します。
LocationException -
(USER_ABORT)
ユーザ操作により中断要求が発生した場合に発生します。
LocationException -
(UNDEFINED)
通信エラー等により、 測位に失敗した場合に発生します。

getLocation

public Location getLocation(int timeout)
                     throws LocationException

測位機能インスタンス生成時に指定された測位方式で測位を行います。

全測位方式共通の振る舞い

自律測位における振る舞い

標準測位における振る舞い

ミニアプリ実行時に測位を行う場合、 他のミニアプリが既に測位実施中の場合には、 このミニアプリの測位要求はブロックされます。 その際、このメソッドは、このミニアプリの測位要求が処理されるまでブロックします。 また、このミニアプリが測位要求ブロック中にサスペンドした場合、 レジューム後も測位要求はブロックされたままとなり、例外は発生しません。

[Star-1.1 以降]
ローミングアウト時に測位した場合、極端に位置精度が悪くなることがあります。 その場合、例外 LocationException(CITYINFO_REQUIRED) が発生します。 この例外が発生した時、 現在滞在している都市を指定してgetLocation(int, int) メソッドを実行して下さい。 指定した都市に対応したアシストデータを取得して測位することで、測位が成功しやすくなります。

パラメータ:
timeout - タイムアウト値を秒単位で指定します。 0を指定した場合、 サポートされているタイムアウト値の上限が指定されます。 上限がない場合、タイムアウトしません。
戻り値:
位置情報オブジェクトを返します。
例外:
IllegalArgumentException -
引数 timeout に負の値が指定された場合に発生します。
DeviceException -
(BUSY_RESOURCE)
現在実行中の Star アプリや、ネイティブ機能において、 既に測位実施中の場合に発生します。
DeviceException -
(BUSY_RESOURCE)
現在実行中の Star アプリで、setTrackingListener(TrackingListener, int, int) および setTrackingListener(TrackingListener, int, int, int) の引数 listener に、 null 以外が設定されている場合に発生します。
LocationException -
(SELF_MODE)
端末がセルフモードの場合に発生します。 ただし、自律測位方式では発生しません。
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、 測位が禁止されている場合に発生します。
LocationException -
(CITYINFO_REQUIRED)
[Star-1.1 以降] ローミングアウト時に良好な測位結果が得られず、都市情報を指定して測位する必要がある場合に発生します。
LocationException -
(OUT_OF_SERVICE)
圏外または GPS 圏外などにより測位に失敗した場合に発生します。
LocationException -
(TIMEOUT)
このメソッドを呼び出してから、 引数に指定したタイムアウト値だけ経過しても、 測位結果が得られない場合に発生します。
LocationException -
(INTERRUPTED)
Suspended 状態に遷移した場合や、 interrupt() メソッド等により中断要求が発生した場合に発生します。
LocationException -
(USER_ABORT)
ユーザ操作により中断要求が発生した場合に発生します。
LocationException -
(UNDEFINED)
通信エラー等により、測位に失敗した場合に発生します。

getLocation

public Location getLocation(int timeout,
                            int id)
                     throws LocationException,
                            StoreException

ローミングアウト時に、都市情報を指定して測位を行います。

引数 id に指定された都市情報のエントリ ID により、対応した都市のアシストデータを取得し GPS 測位を行います。 都市情報のエントリ ID は、CityInfoStore.selectEntryId() で取得することができます。 引数 id に 都市情報データベースに存在しないエントリ ID が指定された場合は、例外が発生します。

測位方式が METHOD_STANDALONE に設定されている時にこのメソッドを呼び出すと、 例外 IllegalStateException が発生します。

国内でこのメソッドを呼び出した場合、例外 LocationException(UNDEFINED) が発生します。

その他の測位時の振る舞いは、getLocation(int) と同様です。

パラメータ:
timeout - タイムアウト値を秒単位で指定します。 0を指定した場合、 サポートされているタイムアウト値の上限が指定されます。 上限がない場合、タイムアウトしません。
id - 都市情報のエントリ ID を指定します。
戻り値:
位置情報オブジェクトを返します。
導入されたバージョン:
Star-1.1
例外:
IllegalArgumentException -
引数 timeout に負の値が指定された場合に発生します。
StoreException -
(NOT_FOUND)
引数 id に指定したエントリ ID が存在しない場合に発生します。
DeviceException -
(BUSY_RESOURCE)
現在実行中の Star アプリや、ネイティブ機能において、 既に測位実施中の場合に発生します。
DeviceException -
(BUSY_RESOURCE)
現在実行中の Star アプリで、setTrackingListener(TrackingListener, int, int) および setTrackingListener(TrackingListener, int, int, int) の引数 listener に、 null 以外が設定されている場合に発生します。
LocationException -
(SELF_MODE)
端末がセルフモードの場合に発生します。
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、 測位が禁止されている場合に発生します。
LocationException -
(OUT_OF_SERVICE)
圏外または GPS 圏外などにより測位に失敗した場合に発生します。
LocationException -
(TIMEOUT)
このメソッドを呼び出してから、 引数に指定したタイムアウト値だけ経過しても、 測位結果が得られない場合に発生します。
LocationException -
(INTERRUPTED)
Suspended 状態に遷移した場合や、 interrupt() メソッド等により中断要求が発生した場合に発生します。
LocationException -
(USER_ABORT)
ユーザ操作により中断要求が発生した場合に発生します。
IllegalStateException -
測位方式が自律測位となっている場合に発生します。
LocationException -
(UNDEFINED)
通信エラー等により、測位に失敗した場合に発生します。

interrupt

public void interrupt()

測位を中断させます。 このインスタンスの getLocation() メソッド にて測位を行っている場合にこのメソッドを呼び出すと、測位が中断されます。 中断されたスレッドは LocationException(INTERRUPTED) が発生します。

測位が行われていないときに呼び出された場合は、 このメソッドはなにもしません。 また、別のインスタンスに対する getLocation() メソッド呼び出しは、 影響を受けません。


setMeasurementMode

public void setMeasurementMode(int mode)

測位モードを指定します。

それぞれの測位モードを指定した場合の測位時の振る舞いについては、 フィールドの詳細を参照してください。

測位モードには、 getAvailableMeasurementMode() によって返される配列の各要素の値を指定することができます。 それ以外の値を指定した場合は、 不正な値が指定されたとして例外が発生します。

指定を行わなかった場合の測位モードは、デフォルト値の MODE_STANDARD です。

引数 mode で設定された測位モードは、現在、実行中の 「測位」または「定期的な測位」に影響しません。 このときの測位モードの設定は、「測位」の場合は次回の実行で有効になります。 また、「定期的な測位」の場合は、実行中の「定期的な測位」を停止し、 再度、「定期的な測位」を開始することで、測位モードの設定が有効になります。

パラメータ:
mode - 測位モードを表す定数値を指定します。
例外:
IllegalArgumentException -
引数 mode に不正な値が指定された場合に発生します。

getMeasurementMode

public int getMeasurementMode()

このインスタンスが測位時に使用する測位モードを取得します。

このメソッドは setMeasurementMode(int) で設定された値をそのまま返します。 setMeasurementMode(int) が一度も呼ばれていない状態でこのメソッドが呼び出された場合には MODE_STANDARD を返します。

戻り値:
このアプリケーションの測位モードを表す定数値を返します。

getAvailableMeasurementMode

public int[] getAvailableMeasurementMode()

設定可能な測位モードを取得します。

このメソッドによって取得した配列の各要素の値は、 setMeasurementMode(int) の引数に設定することにより、 その値が表す測位モードで Star アプリからの測位を行えることが保証されています。

戻り値を modes とすると、 modes[0] が MODE_STANDARD であることは保証されています。 実装によっては他の測位モードをサポートしていない場合があります。 その場合、 未サポートの測位モードに対応する MODE_ から始まる定数は、 配列 modes 中には含まれていません。

戻り値:
設定可能な測位モードを表す定数値を一次元配列で返します。 返される配列は、 このオブジェクトが内部で保持している配列のコピーです。

setTrackingListener

public void setTrackingListener(TrackingListener listener,
                                int interval,
                                int threshold)

定期的な測位を開始、または停止します。

定期的な測位を開始するには、 定期的に測位結果を受けとるためのリスナをセットします。 リスナとして null でない値を指定した場合、 即座に定期的な測位を開始し、 測位結果は指定したリスナに定期的に通知されます。

定期的な測位を停止するには、 リスナとして null を指定してこのメソッドを呼び出して下さい。 その場合、第2引数以降にどのような値を指定しても無視されます。 定期的な測位を開始していないにもかかわらず、null を指定して このメソッドを呼び出した場合には何も起こりません。 また、setTrackingListener(TrackingListener, int, int)、 setTrackingListener(TrackingListener, int, int, int) のどちらのメソッドにリスナとして null を設定しても、現在行っている定期的な測位を停止することができます。

なお、既にsetTrackingListener(TrackingListener, int, int) メソッド、 setTrackingListener(TrackingListener, int, int, int) メソッドのいずれかで定期的な測位を行っているときに、 (nullでない)リスナを指定してこのメソッドを呼び出した場合には、 今まで行われていた定期的な測位を停止してから(リスナとして null を指定してこのメソッドを呼び出した場合と同様に振る舞ってから)、 新しく定期的な測位を開始します。

引数 interval には、測位間隔を指定します。 Suspended 状態でない限り、 必ず指定された測位間隔でリスナが呼び出されます。 測位間隔には、実装がサポートする最小測位間隔以上の値を指定してください。 それ以下の値を指定した場合には、 最小測位間隔が指定されたものとして振る舞います。 測位間隔には実装がサポートする上限以下の値を指定してください。 それ以上の値を指定した場合には、上限値が指定されたものとして振る舞います。 測位間隔の上限値は機種依存です。

引数 threshold には、 最新の測位結果が取得できない状態が何 msec 経ったら 「測位不能」とみなすかを指定します。 具体的には、前回に測位が成功した瞬間から (interval + threshold) [msec] 経っても最新の測位結果が取得できない場合に 「測位不能」とみなします。 「測位不能」時の具体的な振る舞いについては TrackingListener クラスの説明を参照して下さい。 threshold には実装がサポートする上限以下の値を指定してください。 それ以上の値を指定した場合には、上限値が指定されたものとして振る舞います。 threshold の上限値は機種依存です。

このメソッドは、 トラッキングモードが有効な測位方式でのみサポートされています。 サポートされていない測位方式では、 このメソッドを呼び出しても何も起きず、 引数にどのような値を指定しても例外は発生しません。

[Star-1.1 以降]
ローミングアウト時に定期的な測位した場合、極端に位置精度が悪くなることがあります。 このような現象が生じた場合、都市情報を要求する例外オブジェクトがリスナに通知されます。 この例外オブジェクトが通知された時、 現在滞在している都市を指定してsetTrackingListener(TrackingListener, int, int, int) メソッドを実行して下さい。 指定した都市に対応したアシストデータを取得して測位することで、測位が成功しやすくなります。

パラメータ:
listener - 定期的な測位結果を受けとるリスナを指定します。 定期的な測位を停止したい場合には null を指定します。
interval - 測位間隔 [msec] を指定します。
threshold - 最新の測位結果が取得できない状況下において、 測位不能とみなすまでの時間 [msec] を指定します。 0 を指定することも可能です。 また、-1 を指定すると測位不能とみなされることはありません。
例外:
IllegalArgumentException -
引数 interval に 0 以下の値が指定された場合に発生します。
IllegalArgumentException -
引数 threshold に -1 未満の値が指定された場合に発生します。
DeviceException -
(BUSY_RESOURCE)
現在実行中の Star アプリや、ネイティブ機能において、 既に測位実施中の場合に発生します。

setTrackingListener

public void setTrackingListener(TrackingListener listener,
                                int interval,
                                int threshold,
                                int id)
                         throws StoreException

ローミングアウト時に、都市情報を指定して定期的な測位を開始、または停止します。

定期的な測位を開始/停止方法、引数 interval および引数 threshold の詳細は、setTrackingListener(TrackingListener,int,int)のメソッド説明を参照して下さい。

引数 id に指定された都市情報のエントリ ID により、対応した都市のアシストデータを取得し GPS 測位を行います。 都市情報のエントリ ID は、CityInfoStore.selectEntryId() で取得することができます。 引数 id に 都市 DB に存在しないエントリ ID が指定された場合は、例外が発生します。

国内でこのメソッドを呼び出した場合 TrackingListener に例外が通知されるため、定期的な測位を行うことはできません。 また、測位方式が自律測位である場合にこのメソッドを呼び出すと、例外 IllegalStateException が発生します。

なお、 既に(null でない)リスナが設定されている状態で、 (nullでない)リスナを指定してこのメソッドを呼び出した場合には、 今まで行われていた定期的な測位を停止してから(リスナとして null を指定してこのメソッドを呼び出した場合と同様に振る舞ってから)、 新しく定期的な測位を開始します。

このメソッドは、 トラッキングモードが有効な測位方式でのみサポートされています。 サポートされていない測位方式では、 このメソッドを呼び出しても何も起きず、 引数にどのような値を指定しても例外は発生しません。

パラメータ:
listener - 定期的な測位結果を受けとるリスナを指定します。 定期的な測位を停止したい場合には null を指定します。
interval - 測位間隔 [msec] を指定します。
threshold - 最新の測位結果が取得できない状況下において、 測位不能とみなすまでの時間 [msec] を指定します。 0 を指定することも可能です。 また、-1 を指定すると測位不能とみなされることはありません。
id - 都市情報のエントリ ID を指定します。
導入されたバージョン:
Star-1.1
例外:
IllegalArgumentException -
引数 interval に 0 以下の値が指定された場合に発生します。
IllegalArgumentException -
引数 threshold に -1 未満の値が指定された場合に発生します。
StoreException -
(NOT_FOUND)
引数 id に指定したエントリ ID が存在しない場合に発生します。
DeviceException -
(BUSY_RESOURCE)
現在実行中の Star アプリや、ネイティブ機能において、 既に測位実施中の場合に発生します。
IllegalStateException -
測位方式が自律測位となっている場合に発生します。

getMinimalInterval

public int getMinimalInterval()

定期的な測位を実施するときに指定可能な、測位間隔の最小値を取得します。

トラッキングモードをサポートしていない測位方式のインスタンスでは -1 が返されます。

戻り値:
定期的な測位について、測位可能な最小の間隔 [msec] を返します。 トラッキングモードをサポートしていない場合は -1 を返します。
関連項目:
setTrackingListener(TrackingListener, int, int)


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ドコモの商標または登録商標です。

その他記載された会社名、製品名などは該当する各社の商標または登録商標です。