当前位置:操作系统 > 安卓/Android >>

访问Android硬件资源の控制设备的振动

手机设备振动是向用户反馈信息的一种很好的方法,特别是在游戏应用中得到了极大的发挥。要控制设备的振动,我们的应用程序需要获得许可,即在AndroidManifest.xml文件中添加如下代码:
[html]
<uses-permission android:name="android.permission.VIBRATE"/> 
设备振动是通过Vibrator类来实现的,获取这个类实例的代码如下:
[java]
String vibratorService = Context.VIBRATOR_SERVICE; 
Vibrator vibrator = (Vibrator) getSystemService(vibratorService); 
调用vibrate函数开始振动,这个函数有两个重载函数,分别是:
[java]
void vibrate(long[] pattern, int repeat); 
void vibrate(long milliseconds); 
前者以某一指定的模式和重复次数作为参数,后者以振动的毫秒数作为参数。
调用cancel函数可以取消振动,要注意,退出振动程序后,如果不手动调用cancel函数取消振动的话,该振动将会持续下去(如果是持续振动的话),而不管应用程序是否退出。
下面简单的程序实现的功能是在程序启动后1秒,振动2秒,停止振动4秒,接着振动8秒,停止振动16秒,周而复始。
[java]
package hust.iprai.asce1885; 
 
import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 
import android.os.Vibrator; 
 
public class DeviceVibrationActivity extends Activity { 
     
    private Vibrator vibrator = null; 
     
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
         
        String vibratorService = Context.VIBRATOR_SERVICE; 
        vibrator = (Vibrator) getSystemService(vibratorService); 
         
        long[] pattern = {1000, 2000, 4000, 8000, 16000}; 
        vibrator.vibrate(pattern, 0); 
         
    } 
 
    @Override 
    protected void onDestroy() { 
        super.onDestroy(); 
        vibrator.cancel(); 
    } 


摘自 ASCE1885的专栏
补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,