間違ったパターン、ピン、またはパスワードが入力されたときにロック画面に表示されるメッセージをユーザーが変更できる Xposed モジュールを作成しています。
私はこのチュートリアルに従っています。
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) でテストしています。
私は何を間違っていますか?