|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Object | +--com.nttdocomo.opt.device.FingerSensor
携帯電話の指紋センサをナビゲーションモードで利用するための手段を提供します。
指紋センサは、以下の2つのモードで利用することができますが、
このクラスはナビゲーションモードで利用するための手段を提供します。
指紋認証モードで提供される機能は、FingerprintAuthenticator
クラスで提供される機能と同等です。ナビゲーションモードを無効にしている状態では、
デバイスは指紋認証モードになっていますが、ナビゲーションモードが有効であっても、
FingerprintAuthenticator.authenticate()
などの指紋認証関連メソッドの利用によりアプリケーションがサスペンドすると、
強制的にナビゲーションモードから指紋認証モードに切り換わります。
指紋センサは、カレントのフレームが Canvas の時のみナビゲーションモードで利用することができます。
指紋センサをナビゲーションモードで利用するアプリケーションは、
getFingerSensor() メソッドを利用して FingerSensor クラスのただ 1 つのオブジェクトを取得します。
setEnabled(boolean) メソッドを呼び出してナビゲーションモードを有効にすると、
周期的に低レベルイベントが発生するようになります。
イベントの発生周期(指紋センサがセンスを行う周期)は
DEV_SENSE_INTERVAL 属性によって設定することができます。
また、デフォルトでは指を動かさなかった場合でも周期的にイベントが発生しますが、
DEV_NULL_EVENT_NOTIFICATION 属性によって指が動かされなかった場合のイベント通知を抑止することもできます。
低レベルイベントのパラメータは、指の移動量に関する情報を含む機種依存の値です。
パラメータから横方向の移動量や縦方向の移動量を取り出すには
getSenseData(int, int) メソッドを使用します。
以下に、指紋センサを有効にしてイベントの通知を受け、パラメータから移動量を取り出すコード例を示します。
public void init() {
・
・
// 指紋センサオブジェクトを取得
FingerSensor fs = FingerSensor.getFingerSensor();
// ナビゲーションモードを有効化
fs.setEnabled(true);
・
・
}
public void processEvent(int type, int param) {
int deltaX, deltaY;
switch(type) {
・
・
case Display.FINGER_MOVED_EVENT:
// 移動量を取得
deltaX = fs.getSenseData(param, FingerSensor.DATA_DELTA_X);
deltaY = fs.getSenseData(param, FingerSensor.DATA_DELTA_Y);
・
・
break;
・
・
}
}
待ち受け実行時の活性化状態では指紋センサをナビゲーションモードで使うことが可能ですが、 非活性化状態・休眠状態に遷移した場合はナビゲーションモードは無効になり、 活性化状態に復帰しても自動的に有効になることはありません。 また、サスペンド状態から復帰した場合にも、 待ち受け実行時かどうかにかかわらず自動的にナビゲーションモードは無効になります。
端末によってサポートされていない場合があります。 未サポートの場合、メソッドが呼び出された時点でUnsupportedOperationExceptionが発生します。
| フィールドの概要 | |
static int |
ATTR_NULL_EVENT_OFF
イベント通知の属性値で、指が動かされなかった時にイベントを通知しないことを表します(=0)。 |
static int |
ATTR_NULL_EVENT_ON
イベント通知の属性値で、指が動かされなかった時にもイベントを通知することを表します(=1)。 |
static int |
DATA_DELTA_X
指紋センサのイベントパラメータから横方向の移動量取得することを表します(=0)。 |
static int |
DATA_DELTA_Y
指紋センサのイベントパラメータから縦方向の移動量を取得することを表します(=1)。 |
static int |
DEV_NULL_EVENT_NOTIFICATION
指が動かされなかった場合にイベントを通知するかどうかを表す属性です。 |
static int |
DEV_SENSE_INTERVAL
指紋センサが指の動きをセンスする間隔を表す属性です(=0)。 |
| コンストラクタの概要 | |
protected |
FingerSensor()
アプリケーションが直接このコンストラクタを呼び出してオブジェクトを生成することはできません。 |
| メソッドの概要 | |
int |
getAttribute(int attr)
指紋センサに関する属性を取得します。 |
static FingerSensor |
getFingerSensor()
指紋センサオブジェクトを取得します。 |
int |
getSenseData(int param,
int data)
指紋センサから通知されたイベントパラメータから情報を取り出します。 |
boolean |
isAvailable(int attr)
指紋センサの属性が設定可能かどうかを調べます。 |
void |
setAttribute(int attr,
int value)
指紋センサに関する属性を設定します。 |
void |
setEnabled(boolean b)
指紋センサのナビゲーションモードの有効/無効を切り換えます。 |
| クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
public static final int DEV_SENSE_INTERVAL
public static final int DEV_NULL_EVENT_NOTIFICATION
public static final int ATTR_NULL_EVENT_OFF
public static final int ATTR_NULL_EVENT_ON
public static final int DATA_DELTA_X
getSenseData(int, int),
定数フィールド値public static final int DATA_DELTA_Y
getSenseData(int, int),
定数フィールド値| コンストラクタの詳細 |
protected FingerSensor()
| メソッドの詳細 |
public static FingerSensor getFingerSensor()
指紋センサオブジェクトを取得します。
このメソッドが初めて呼ばれた場合はオブジェクトを生成して返します。 生成直後はナビゲーションモードは無効な状態になっています。 以後、常に同じオブジェクトへの参照を返します。
public void setAttribute(int attr,
int value)
attr - 指紋センサの属性の種類を指定します。value - 指紋センサの属性に設定する属性値を指定します。
IllegalArgumentException - 引数 attr で指定された有効な属性に対して、
引数 value に不正な属性値が指定された場合に発生します。
public int getAttribute(int attr)
attr - 指紋センサの属性の種類を指定します。
public boolean isAvailable(int attr)
setAttribute(int, int) メソッドで設定することが可能です。
指紋センサがその属性の設定をサポートしていない場合や、
携帯電話の設定によってその属性の設定が制限されている場合はfalseを返します。
attr - 指紋センサの属性の種類を指定します。
public void setEnabled(boolean b)
指紋センサのナビゲーションモードの有効/無効を切り換えます。 デフォルトではナビゲーションモードは無効になっています。
このメソッドの設定はカレントのフレームを切り替えても影響を受けません。 すなわち、Canvas の表示中にナビゲーションモードを有効にして、 それから Panel に切り替えた後に再度 Canvas をカレントのフレームに設定した場合でも、 ナビゲーションモードは有効なままになります。
b - ナビゲーションモードを有効にする場合はtrueを、
無効にする場合はfalseを指定します。
com.nttdocomo.lang.IllegalStateException - 待ち受け実行時の非活性化状態で呼び出された場合に発生します。
public int getSenseData(int param,
int data)
横方向の移動量と縦方向の移動量を取得することができます。
param - Canvas.processEvent メソッドの第2引数に渡されたイベントのパラメータを指定します。data - イベントのパラメータから取得する情報の種類を指定します。
IllegalArgumentException - 引数 param に指紋センサがサポートしていないイベントパラメータが指定された場合に発生します。
IllegalArgumentException - 引数 data に不正な値が指定された場合に発生します。
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
NTT DoCoMo,Inc.
本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。
Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。
「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。