如何将手机改造成振动器---Vibrator

市面上林林总总振动棒这么多,却不好意思购买---如何利用已有的手机,开发出一个振动器出来呢,嘿嘿嘿嘿。成为程序员,让女朋友欲罢不能..........

很多时候,程序需要让手机振动一下,比如说打游戏时,适时的振动会增加真实感,或者接到电话,振动会帮助我们转移注意力到手机上....安卓手机的振动,主要是靠类Vibrator来管理的。

帮助文档是这么写的:
Class that operates the vibrator on the device.

If your process exits, any vibration you started will stop.
如果你的进程退出了,那么由这个进程带来的振动都会停止。
To obtain an instance of the system vibrator, 
call getSystemService(Class) with VIBRATOR_SERVICE as the argument. 
要想调用一个vibrator的实例,调用方法getSystemService(),参数为VIBRATOR_SERVIECE.
Vibrator类,有6个方法,如下:
public abstract void cancel ()不振了
public abstract boolean hasVibrator ()能不能振?
public void vibrate (long[] pattern, int repeat, AudioAttributes attributes)
public void vibrate (long[] pattern, int repeat)怎么振
public void vibrate (long milliseconds)振多久
public void vibrate (long milliseconds, AudioAttributes attributes)
该类的方法都很简单,来写一个测试例子。要求实现点击屏幕手机振动5秒。
public class MainActivity extends Activity {
    Vibrator vibrator;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //通过getSystemService()获取振动实例
        vibrator = ( Vibrator) getSystemService(Service.VIBRATOR_SERVICE);
    }

    //重写onTouchEvent方法,当用户触碰触摸屏时触发该方法
    @Override
    public boolean onTouchEvent(MotionEvent event){
        vibrator.vibrate(5000);//设置振动时间
        return super.onTouchEvent(event);
    }
}
好了,到这里,本文的出发目标已经实现了。写完之后我们可以发现,安卓手机仅支持有无振动,但并没有在硬件上提供振动的强弱管理。这可能是硬件上不可逾越的弱点。。。如果。。。如果真的可以自由管理振动强弱的话。。。

你可能感兴趣的:(Android开发)