在Android 4.0的圓環滑動解鎖中,我們點擊下去的時候會有震動效果,因為這個空間設置的震動效果沒有綁定設置中設置的觸摸振動開關來取消振動效果,所以如果我們需要根據設置中的觸摸震動開關來開啟和取消滑動解鎖的震動效果,就需要做以下修改了。
在LockScreen.java類中的LockScreen方法中的
else if (mUnlockWidget instanceof MultiWaveView) {
MultiWaveView multiWaveView = (MultiWaveView) mUnlockWidget;
multiWaveView.setVibrateEnabled(Settings.System.getInt(mContext.getContentResolver(),//通過判斷是否設置了觸摸震動效果來設置解鎖的震動。
Settings.System.HAPTIC_FEEDBACK_ENABLED, 1) != 0);
MultiWaveViewMethods multiWaveViewMethods = new MultiWaveViewMethods(multiWaveView);
multiWaveView.setOnTriggerListener(multiWaveViewMethods);
mUnlockWidgetMethods = multiWaveViewMethods;
還要在這裡加入
class MultiWaveViewMethods implements MultiWaveView.OnTriggerListener,
UnlockWidgetCommonMethods {
private final MultiWaveView mMultiWaveView;
private boolean mCameraDisabled;
MultiWaveViewMethods(MultiWaveView multiWaveView) {
mMultiWaveView = multiWaveView;
multiWaveView.setVibrateEnabled(Settings.System.getInt(mContext.getContentResolver(),
Settings.System.HAPTIC_FEEDBACK_ENABLED, 1) != 0);
final boolean cameraDisabled = mLockPatternUtils.getDevicePolicyManager()
.getCameraDisabled(null);
因為滑動解鎖主要使用的就是MultiWaveView這個控件,而這個控件是有設置是否振動的屬性。
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11