每日总结-android Vibrator

  • 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的话则一直振动 还有其他两个方法用得不多~ 对了,使用振动器还需要在AndroidManifest.xml中添加下述权限: <uses-permission android:name="android.permission.VIBRATE"/>
  • public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    
        private Button btn_hasVibrator;
        private Button btn_short;
        private Button btn_long;
        private Button btn_rhythm;
        private Button btn_cancle;
        private Vibrator myVibrator;
        private Context mContext;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //获得系统的Vibrator实例:
            myVibrator = (Vibrator) getSystemService(Service.VIBRATOR_SERVICE);
            mContext = MainActivity.this;
            bindViews();
        }
    
        private void bindViews() {
            btn_hasVibrator = (Button) findViewById(R.id.btn_hasVibrator);
            btn_short = (Button) findViewById(R.id.btn_short);
            btn_long = (Button) findViewById(R.id.btn_long);
            btn_rhythm = (Button) findViewById(R.id.btn_rhythm);
            btn_cancle = (Button) findViewById(R.id.btn_cancle);
    
            btn_hasVibrator.setOnClickListener(this);
            btn_short.setOnClickListener(this);
            btn_long.setOnClickListener(this);
            btn_rhythm.setOnClickListener(this);
            btn_cancle.setOnClickListener(this);
        }
    
    
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.btn_hasVibrator:
                    Toast.makeText(mContext, 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(mContext, "短振动", Toast.LENGTH_SHORT).show();
                    break;
                case R.id.btn_long:
                    myVibrator.cancel();
                    myVibrator.vibrate(new long[]{100, 100, 100, 1000}, 0);
                    Toast.makeText(mContext, "长振动", 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(mContext, "节奏振动", Toast.LENGTH_SHORT).show();
                    break;
                case R.id.btn_cancle:
                    myVibrator.cancel();
                    Toast.makeText(mContext, "取消振动", Toast.LENGTH_SHORT).show();
            }
        }
    }

posted on 2021-06-05 19:55  孔kk  阅读(221)  评论(0)    收藏  举报

导航