Android震动器Vibrator调用

飞哥语录:踏踏实实的,多大点事儿。

1.首先添加权限

2.获得Vibrator实例:

Vibrator vb = (Vibrator)getSystemService(Service.VIBRATOR_SERVICE);

3.相关方法

abstract void cancel():关闭或者停止振动器;
abstract boolean hasVibrator():判断硬件是否有振动器;
void vibrate(long milliseconds):控制手机振动为milliseconds毫秒;
void vibrate(long[] pattern,int repeat):指定手机以pattern指定的模式振动;
例如:pattern为new int[200,400,600,800],就是让他在200,400,600,800这个时间交替启动与关闭振动器!
而第二个则是重复次数,如果是-1的只振动一次,如果是0的话则一直振动。

4.示例代码

	@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 获得系统的Vibrator实例
        myVibrator = (Vibrator) getSystemService(Service.VIBRATOR_SERVICE);
    }
 
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_hasVibrator:
                Toast.makeText(this, myVibrator.hasVibrator() ? 当前设备有振动器 : 当前设备无振动器,Toast.LENGTH_SHORT).show();
                break;
            case R.id.btn_short:
                myVibrator.cancel();
                myVibrator.vibrate(new long[]{100, 200, 100, 200}, 0);
                Toast.makeText(this, 短振动, Toast.LENGTH_SHORT).show();
                break;
            case R.id.btn_long:
                myVibrator.cancel();
                myVibrator.vibrate(new long[]{100, 100, 100, 1000}, 0);
                Toast.makeText(this, 长振动, Toast.LENGTH_SHORT).show();
                break;
            case R.id.btn_rhythm:
                myVibrator.cancel();
                myVibrator.vibrate(new long[]{500, 100, 500, 100, 500, 100}, 0);
                Toast.makeText(this, 节奏振动, Toast.LENGTH_SHORT).show();
                break;
            case R.id.btn_cancle:
                myVibrator.cancel();
                Toast.makeText(this, 取消振动, Toast.LENGTH_SHORT).show();
        }

Thanks all .
Happy Everyday…

你可能感兴趣的:(Android,android)