2011/01/30

Android バイブレーターに永久時間指定はないみたい

 
iアプリ(Doja/Star) や MIDP でのバイブ制御は、
 
バイブレーターON/OFF
 
となっているため、何 ms の間ブルブルさせるかはプログラマーが制御できる。
正確に言うなら、制御をしない限り永久にブルブルさせることも出来る。
 
Android では以下のメソッドで制御をするのだが、
 
Vibrator v = (Vibrator)actibity.getSystemService(Activity.VIBRATOR_SERVICE);
 
// ON
v.vibrate( "here is integer. vibrate time ms" );

// OFF
v.cancel();
 
Android で同じようにできないか vibrate() 引数に -1 を与え実機で確認した所…
ブルっとしなかった。
 
Windows とかでも INFINITE(-1) で半永久を示すパラメーターとして利用される
ので -1 を指定したのだが…ダメだった。
 
ひとまず vibrate( 1000* 60 ); とし1分間ブルブルさせるようにし、オフにする
時に明示的に cancel() をコールすることで、iアプリ/MIDP と同じような使い勝手
に変更しました。
 
 
話は変わり…プリプロセッサの #warning を利用しまくってます。
 
これはコンパイル時に警告メッセージを表示できるのですが、実装が後回しの箇所、
未検証の所に #warining を埋め込んでおけば、月日が流れ4年後…となっても、
メッセージを確実に確認できる。
 
また重要な実装が完了した後に「何か実装忘れてたっけ」ってのも防げます。
 
よく使う例として、
 
#ifdef ANDROID
     // アルファブレンド処理
     #warining "アルファブレンドの減算が未実装です。"
#endif
 
#ifdef MIDP
     // アプリ連携
     #warning "アプリ連携を端末で検証していません。"
#endif
 
など埋め込んでおけば、これだけで最も有効活用できるドキュメントにもなる。

0 件のコメント:

コメントを投稿