1

我正在制作一个 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) 上对其进行测试。

我究竟做错了什么?

4

0 回答 0