- 2012-11-11 (日) 19:11
- Android
端末によっては振動機能を備えたものがあります。
(逆に無い物の方が珍しいのかな…?)
何らかの操作が行われた場合やユーザにイベント通知を行う際などに効果的に使用することでユーザエクスペリエンスを向上させることができます。
AndroidManifest設定
バイブレータの使用にはVIBRATEパーミッション設定が必要となります。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
...>
...
<uses-permission android:name="android.permission.VIBRATE"/>
...
</manifest>
バイブレーション
Vibratorクラスの vibrate() で振動を開始します。
振動時間は引数で指定します。単位はミリ秒です。
なお、Vibratorオブジェクトは引数に「Context.VIBRATOR_SERVICE」を指定した Context#getSystemService() で取得します。
//==== Vibratorオブジェクト取得 ====// Vibrator vibrator = (Vibrator)context.getSystemService(Context.VIBRATOR_SERVICE); //==== バイブレーション ====// // 50ms振動させる。 // vibrator.vibrate(50);
サンプルコード
ボタンが押された際に50ms振動するサンプルです。
...
import android.os.Vibrator;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout llRoot = new LinearLayout(this);
llRoot.setOrientation(LinearLayout.VERTICAL);
setContentView(llRoot);
//==== バイブレーションボタン作成 ====//
Button btnVibrate = new Button(this);
btnVibrate.setText("バイブレーション");
btnVibrate.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
vibrate(MainActivity.this, 50);
}
});
//==== ボタン追加 ====//
llRoot.addView(btnVibrate);
}
/**
* バイブレーションさせる。
*/
public void vibrate(Context context, long milliseconds) {
Vibrator vibrator = (Vibrator)context.getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(milliseconds);
}
}
関連サイト
関連があると思われる記事:
- [Android] WiFi機能のON/OFF状態取得
- [Android] アプリケーション名とアイコン
- [Android] エミュレータにアプリインストール
- [Android端末] Android4.2のNexus7で開発者向けオプション表示
- [Android] 音声録音
- Newer: [Windows] サービス削除
- Older: [C#] サービスのインストールとデバッグ
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://gacken.com/wp/program/android/2046/trackback/
- Listed below are links to weblogs that reference
- [Android] 振動機能(バイブレーション) from ミライニトドケ