Androidはどのように携帯電話の振動を実現します
一、Androidの振動実現--Vibrator類は開発過程で振動を実現する必要がある.ネット上にはいくつかの例があるが、ここでは述べず、codeに直接行く.は必ずAndroidManifestにいます.xmlは権限を追加します. Vibratorインスタンスを取得する.
3)使用する関連方法:
4)振動を閉じる:
--------------------------------------------------------------------------------------------------1)Vibratorオブジェクトの取得:
2.反射方式で振動を実現する:
詳細コードリンクをダウンロード:https://download.csdn.net/download/xiao_yuanjl/12273091
<uses-permission android:name="android.permission.VIBRATE" />
vibrator = (Vibrator) VibrateActivity.this.getSystemService(VibrateActivity.VIBRATOR_SERVICE);
3)使用する関連方法:
// ,
//vibrator.vibrate(1000);
/* , a[0] ,a[1] , a[2] ,
* a[3] …… ,
*/
long[] patter = {1000, 1000, 2000, 50};
vibrator.vibrate(patter, 0);
4)振動を閉じる:
vibrator.cancel();
--------------------------------------------------------------------------------------------------1)Vibratorオブジェクトの取得:
private static final AudioAttributes STATUS_BAR_VIBRATION_ATTRIBUTES =
new AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setUsage(AudioAttributes.USAGE_ASSISTANCE_SONIFICATION)
.build();
mVibrator = getApplicationContext().getSystemService(Vibrator.class);
2.反射方式で振動を実現する:
// effectId (0 1) fallback(true fasle)true, ;
public void vibrate(final int effectId, final boolean fallback) {
try {
// Clase , new Class[]{ get(int a,boolean b)}
className = Class.forName("android.os.VibrationEffect");
methodName = className.getDeclaredMethod("get", new Class[]{int.class, boolean.class});
//cl.invoke(null, 0,false) ( 1 , 2 int, 3 boolean);
mVibrator.vibrate((VibrationEffect) methodName.invoke(className, effectId, fallback),
STATUS_BAR_VIBRATION_ATTRIBUTES);
} catch (Exception e) {
e.printStackTrace();
}
}
詳細コードリンクをダウンロード:https://download.csdn.net/download/xiao_yuanjl/12273091