a、通過(guò)系統(tǒng)服務(wù)獲得手機(jī)震動(dòng)服務(wù),Vibrator vibrator = (Vibrator)getSystemService(VIBRATOR_SERVICE);
我們提供的服務(wù)有:成都網(wǎng)站制作、做網(wǎng)站、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、蘭山ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的蘭山網(wǎng)站制作公司
b、得到震動(dòng)服務(wù)后檢測(cè)vibrator是否存在:
vibrator.hasVibrator();
檢測(cè)當(dāng)前硬件是否有vibrator,如果有返回true,如果沒(méi)有返回false。
c、根據(jù)實(shí)際需要進(jìn)行適當(dāng)?shù)恼{(diào)用,
vibrator.vibrate(long milliseconds);
開(kāi)始啟動(dòng)vibrator持續(xù)milliseconds毫秒。
vibrator.vibrate(long[] pattern, int repeat);
以pattern方式重復(fù)repeat次啟動(dòng)vibrator。(pattern的形式為new long[]{arg1,arg2,arg3,arg4......},其中以兩個(gè)一組的.如arg1 和arg2為一組、arg3和arg4為一組,每一組的前一個(gè)代表等待多少毫 秒啟動(dòng)vibrator,后一個(gè)代表vibrator持續(xù)多少毫秒停止,之后往復(fù)即 可。Repeat表示重復(fù)次數(shù),當(dāng)其為-1時(shí),表示不重復(fù)只以pattern的方 式運(yùn)行一次)。
vibrator.cancel();
Vibrator停止。
注意:在使用震動(dòng)服務(wù)時(shí)需要如下權(quán)限:android.permission.VIBRATE。
如果您的手機(jī)需要設(shè)置響鈴時(shí)震動(dòng)功能,三星手機(jī)可以參考:
1.核實(shí)手機(jī)是否支持響鈴時(shí)并振動(dòng)功能。
2.如果支持,請(qǐng)您打開(kāi)手機(jī)設(shè)定-聲音-鈴聲和振動(dòng)/鈴聲時(shí)振動(dòng)-勾選即可。
未關(guān)閉設(shè)置模式。androidstudio手機(jī)存在間隔震動(dòng)和一直震動(dòng)兩種模式,因此是未關(guān)閉設(shè)置模式才會(huì)如此,是能夠之間進(jìn)行管理的,Android的廣播機(jī)制正式借鑒了Wifi的通信原理,不必搭建專門的通路,就能在發(fā)送方與接收方之間建立連接,同時(shí)廣播也是Android的四大組件之一。
android如果要使用到震動(dòng),需要再主配置文件里面添加如下權(quán)限:
uses-permission android:name="android.permission.VIBRATE"/uses-permission
在與用戶交互時(shí),常常會(huì)用到震動(dòng)功能,以提醒用戶。該功能實(shí)現(xiàn)比較簡(jiǎn)單,請(qǐng)參閱下面主要代碼:
[java] import android.app.Activity;
import android.app.Service;
import android.os.Vibrator;
public class TipHelper {
public static void Vibrate(final Activity activity, long milliseconds) {
Vibrator vib = (Vibrator) activity.getSystemService(Service.VIBRATOR_SERVICE);
vib.vibrate(milliseconds);
}
public static void Vibrate(final Activity activity, long[] pattern,boolean isRepeat) {
Vibrator vib = (Vibrator) activity.getSystemService(Service.VIBRATOR_SERVICE);
vib.vibrate(pattern, isRepeat ? 1 : -1);
}
}
import android.app.Activity;
import android.app.Service;
import android.os.Vibrator;
public class TipHelper {
public static void Vibrate(final Activity activity, long milliseconds) {
Vibrator vib = (Vibrator) activity.getSystemService(Service.VIBRATOR_SERVICE);
vib.vibrate(milliseconds);
}
public static void Vibrate(final Activity activity, long[] pattern,boolean isRepeat) {
Vibrator vib = (Vibrator) activity.getSystemService(Service.VIBRATOR_SERVICE);
vib.vibrate(pattern, isRepeat ? 1 : -1);
}
}
當(dāng)然, 僅僅有上面的代碼,還是不行的。我們還需要在AndroidManifest.xml 中添加震動(dòng)權(quán)限:
[html] uses-permission android:name="android.permission.VIBRATE" /
uses-permission android:name="android.permission.VIBRATE" /
通過(guò)上面操作,我們可以使用TipHelper所定義的函數(shù)了。兩個(gè)Vibrate函數(shù)的參數(shù)簡(jiǎn)單介紹如下:
final Activity activity :調(diào)用該方法的Activity實(shí)例
long milliseconds :震動(dòng)的時(shí)長(zhǎng),單位是毫秒
long[] pattern :自定義震動(dòng)模式 。數(shù)組中數(shù)字的含義依次是[靜止時(shí)長(zhǎng),震動(dòng)時(shí)長(zhǎng),靜止時(shí)長(zhǎng),震動(dòng)時(shí)長(zhǎng)。。。]時(shí)長(zhǎng)的單位是毫秒
boolean isRepeat : 是否反復(fù)震動(dòng),如果是true,反復(fù)震動(dòng),如果是false,只震動(dòng)一次
有震動(dòng),可能是關(guān)掉了。
打開(kāi)蘋果震動(dòng)的方法:
1、打開(kāi)手機(jī)設(shè)置按鈕,在設(shè)置頁(yè)面找到聲音,點(diǎn)擊進(jìn)入。
2、手機(jī)不震動(dòng),有可能是因?yàn)槲覀儗㈨戔從J秸饎?dòng)或者靜音模式震動(dòng)關(guān)閉了。
3、將聲音下的該兩個(gè)功能打開(kāi),然后再撥打下該電話,試下手機(jī)有無(wú)震動(dòng)。
4、打開(kāi)設(shè)置按鈕,在設(shè)置頁(yè)面找到通用,找到輔助功能。
5、在輔助功能下面有震動(dòng),看下該功能是否打開(kāi)。
6、如果是關(guān)閉狀態(tài),將該功能打開(kāi)。