设置里解锁方式移除,默认解锁方式为无 :
vendor/mediatek/proprietary/packages/apps/MtkSettings
主要布局在res/xml/security_settings_picker.xml
<com.android.settingslib.RestrictedPreference
android:key="unlock_set_password"
android:title="@string/unlock_set_unlock_password_title"
android:icon="@drawable/ic_password"
android:persistent="false"/>
照着再添加一个就行
如果要移除就不要粗暴删掉
主要逻辑文件
src/com/android/settings/password/ChooseLockGeneric.java
在addPreferences 方法中
removePreference(ScreenLockType.SWIPE.preferenceKey);
也可以
findPreference(ScreenLockType.SWIPE.preferenceKey).setVisible(false);
就可删除滑动解锁菜单
默认解锁方式为无在vendor/mediatek/proprietary/packages/apps/SettingsProvider/ res/values/defaults.xml
<bool name="def_lockscreen_disabled">false</bool>设为true
随意按键做唤醒键,添加或移除唤醒按键 :
注意!!!
PhoneWindowManager里面也有关于唤醒键的定义,不过是否定的,注意是否冲突!
private boolean isWakeKeyWhenScreenOff(int keyCode) {
源码设置了音量键在这返回false,就是不可唤醒,看看其他键有没有
但这个方法是在interceptKeyBeforeQueueing里的具体调用音量键的逻辑删掉后上面那个方法就不生效了,
方法一:
frameworks/ base/core/java/android/view/KeyEvent.java
有个
public static final boolean isWakeKey(int keyCode) {
switch (keyCode) {
case KeyEvent.KEYCODE_CAMERA:
case KeyEvent.KEYCODE_MENU:
把键值加入就行
方法二:
frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
源码有俩
在init方法里实例化
mBroadcastWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
"PhoneWindowManager.mBroadcastWakeLock");
mPowerKeyWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
"PhoneWindowManager.mPowerKeyWakeLock");
自己建一个比如F11,
PowerManager.WakeLock mF11KeyWakeLock;
然后调用
mF11KeyWakeLock.acquire();
mF11KeyWakeLock.release();
别用系统给的那俩,自己的键自己另外建一个powermanager,不然比如说mPowerKeyWakeLock,用了他这个acquire也不生效,可能其他地方先release了已经!