市面上林林总总振动棒这么多,却不好意思购买---如何利用已有的手机,开发出一个振动器出来呢,嘿嘿嘿嘿。成为程序员,让女朋友欲罢不能..........很多时候,程序需要让手机振动一下,比如说打游戏时,适时的振动会增加真实感,或者接到电话,振动会帮助我们转移注意力到手机上....安卓手机的振动,主要是靠类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;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);vibrator = ( Vibrator) getSystemService(Service.VIBRATOR_SERVICE);}@Overridepublic boolean onTouchEvent(MotionEvent event){vibrator.vibrate(5000);return super.onTouchEvent(event);}
}
好了,到这里,本文的出发目标已经实现了。写完之后我们可以发现,安卓手机仅支持有无振动,但并没有在硬件上提供振动的强弱管理。这可能是硬件上不可逾越的弱点。。。如果。。。如果真的可以自由管理振动强弱的话。。。