无法更改系统字符串资源

时间:2016-07-20 13:42:42

标签: java android xposed-framework

我正在制作一个Xposed模块,允许用户在输入错误的图案,图钉或密码时修改锁定屏幕上显示的信息。

我正在关注此tutorial

在深入了解GitHub上的android源代码之后,我发现了在锁定屏幕上显示消息的方法,即类onPatternChecked()中的com.android.keyguard.KeyguardPatternView.java。当绘制错误的模式时,该方法使用kg_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)上测试它。

我做错了什么?

0 个答案:

没有答案