指纹振动的震感
import android.media.AudioAttributes;
import android.os.VibrationEffect;
import android.os.Vibrator;
private static final AudioAttributes VIBRATION_ATTRIBUTES =
new AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setUsage(AudioAttributes.USAGE_ASSISTANCE_SONIFICATION)
.build();
private final VibrationEffect mSuccessVibrationEffect = VibrationEffect.get(VibrationEffect.EFFECT_CLICK);
Vibrator vibrator = mActivity.getSystemService(Vibrator.class);
if (vibrator != null) {
//振动
vibrator.vibrate(mSuccessVibrationEffect, VIBRATION_ATTRIBUTES);
}
源码部分
frameworks\base\services\core\java\com\android\server\biometrics\ClientMonitor.java
private final VibrationEffect mSuccessVibrationEffect;
private final VibrationEffect mErrorVibrationEffect;
private static final AudioAttributes FINGERPRINT_SONFICATION_ATTRIBUTES =
new AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setUsage(AudioAttributes.USAGE_ASSISTANCE_SONIFICATION)
.build();
mSuccessVibrationEffect = VibrationEffect.get(VibrationEffect.EFFECT_CLICK);
mErrorVibrationEffect = VibrationEffect.get(VibrationEffect.EFFECT_DOUBLE_CLICK);
public final void vibrateSuccess() {
Vibrator vibrator = mContext.getSystemService(Vibrator.class);
if (vibrator != null) {
vibrator.vibrate(mSuccessVibrationEffect, FINGERPRINT_SONFICATION_ATTRIBUTES);
}
}
public final void vibrateError() {
Vibrator vibrator = mContext.getSystemService(Vibrator.class);
if (vibrator != null) {
vibrator.vibrate(mErrorVibrationEffect, FINGERPRINT_SONFICATION_ATTRIBUTES);
}
}