Android实现调用震动的方法
本文实例讲述了Android实现调用震动的方法。分享给大家供大家参考,具体如下:
调用Android系统的震动,只需要一个类那就是Vibrator,这个类在hard包中,一看系统级的服务,又要通过manifest.xml文件设置权限了
<?xmlversion="1.0"encoding="utf-8"?> <manifestxmlns:android="http://schemas.android.com/apk/res/android" package="uni.vibrator" android:versionCode="1" android:versionName="1.0"> <uses-sdkandroid:minSdkVersion="8"/> <applicationandroid:icon="@drawable/icon"android:label="@string/app_name"> <activityandroid:name=".VibratorDemoActivity" android:label="@string/app_name"> <intent-filter> <actionandroid:name="android.intent.action.MAIN"/> <categoryandroid:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> <uses-permissionandroid:name="android.permission.VIBRATE"/> </manifest>
下面还是一起学习一下SDK吧
Classthatoperatesthevibratoronthedevice.
Ifyourprocessexits,anyvibrationyoustartedwithwillstop.
//Vibrator类用来操作设备上的震动,如果你的线程退出了,那么启动的震动也会停止
publicvoidvibrate(long[]pattern,intrepeat)
Since:APILevel1
Vibratewithagivenpattern. //根据给定的节奏震动
Passinanarrayofintsthatarethedurationsforwhichtoturnonoroffthevibratorinmilliseconds.Thefirstvalueindicatesthenumberofmillisecondstowaitbeforeturningthevibratoron.Thenextvalueindicatesthenumberofmillisecondsforwhichtokeepthevibratoronbeforeturningitoff.Subsequentvaluesalternatebetweendurationsinmillisecondstoturnthevibratoroffortoturnthevibratoron.
//传递一个整型数组作为关闭和开启震动的持续时间,以毫秒为单位。第一个值表示等待震动开启的毫秒数,下一个值表示保持震动的毫秒数,这个序列值交替表示震动关闭和开启的毫秒数
Tocausethepatterntorepeat,passtheindexintothepatternarrayatwhichtostarttherepeat,or-1todisablerepeating.
//为了重复的按设定的节奏震动,传递index参数表示重复次数,用-1表示不重复。
Parameters
pattern anarrayoflongsoftimesforwhichtoturnthevibratoronoroff.
repeat theindexintopatternatwhichtorepeat,or-1ifyoudon'twanttorepeat.
还包含一个方法叫做cancel,用来取消震动
看一段演示的代码:
/* *@authoroctobershiner *SE.HIT *一个使用android手机震动的demo **/ packageuni.vibrator; importandroid.app.Activity; importandroid.content.Context; importandroid.os.Bundle; importandroid.os.Vibrator; publicclassVibratorDemoActivityextendsActivity{ privateVibratorvibrator; /**Calledwhentheactivityisfirstcreated.*/ @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); /* *想设置震动大小可以通过改变pattern来设定,如果开启时间太短,震动效果可能感觉不到 **/ vibrator=(Vibrator)getSystemService(Context.VIBRATOR_SERVICE); long[]pattern={100,400,100,400};//停止开启停止开启 vibrator.vibrate(pattern,2);//重复两次上面的pattern如果只想震动一次,index设为-1 } publicvoidonStop(){ super.onStop(); vibrator.cancel(); } }
希望本文所述对大家Android程序设计有所帮助。