我正在制作一个 Xposed 模块,允许用户在输入错误的图案、密码或密码时修改锁定屏幕上显示的消息。
我正在关注本教程。
在 GitHub 上挖掘 android 源代码后,我发现了在锁屏上显示消息的方法,就是onPatternChecked()
在 class 中com.android.keyguard.KeyguardPatternView.java
。该方法在绘制错误图案时使用值为Wrong Patternkg_wrong_pattern
的字符串资源。
这就是我的班级的样子:-
package com.batrashubham.customlockscreenerrormessage;
import android.content.res.XResources;
import de.robv.android.xposed.IXposedHookInitPackageResources;
import de.robv.android.xposed.IXposedHookZygoteInit;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.callbacks.XC_InitPackageResources;
/**
* Created by shubham on 19/7/16.
*/
public class CustomErrorMessage implements IXposedHookInitPackageResources,IXposedHookZygoteInit {
@Override
public void initZygote(StartupParam startupParam) throws Throwable {
XResources.setSystemWideReplacement("android","bool","config_unplugTurnsOnScreen",false);
}
@Override
public void handleInitPackageResources(XC_InitPackageResources.InitPackageResourcesParam resparam) throws Throwable {
if(!resparam.packageName.equals("com.android.keyguard")){
return;
}
XposedBridge.log("I just got into your lock screen");
resparam.res.setReplacement("com.android.keyguard", "string", "kg_wrong_pattern", "Nice try.!!");
}
}
该模块显示在 Xposed Installer 应用程序中并成功激活,但当我绘制错误的图案时,原始消息仍显示在锁定屏幕上。
我目前正在 Android 6.0.1 (CyanogenMod 13) 上对其进行测试。
我究竟做错了什么?