@@ -33,7 +33,7 @@ public void initZygote(StartupParam startupParam) throws Throwable {
3333
3434 @ Override
3535 public void handleLoadPackage (final LoadPackageParam lpparam ) throws Throwable {
36- if (lpparam . packageName . equals (PACKAGE_NAME_WECHAT )) {
36+ if (PACKAGE_NAME_WECHAT . equals (lpparam . packageName )) {
3737 L .d ("loaded: [" + lpparam .packageName + "]" + " version:" + BuildConfig .VERSION_NAME );
3838 XposedHelpers .findAndHookMethod (Application .class , "onCreate" , new XC_MethodHook () {
3939 @ TargetApi (21 )
@@ -43,7 +43,7 @@ protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
4343 XposedPluginLoader .load (XposedWeChatPlugin .class , context , lpparam );
4444 }
4545 });
46- } else if (lpparam . packageName . equals (PACKAGE_NAME_ALIPAY )) {
46+ } else if (PACKAGE_NAME_ALIPAY . equals (lpparam . packageName )) {
4747 L .d ("loaded: [" + lpparam .packageName + "]" + " version:" + BuildConfig .VERSION_NAME );
4848 XposedHelpers .findAndHookMethod (Application .class , "onCreate" , new XC_MethodHook () {
4949 private boolean mCalled = false ;
@@ -57,7 +57,7 @@ protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
5757 }
5858 }
5959 });
60- } else if (lpparam . packageName . equals (PACKAGE_NAME_TAOBAO )) {
60+ } else if (PACKAGE_NAME_TAOBAO . equals (lpparam . packageName )) {
6161 L .d ("loaded: [" + lpparam .packageName + "]" + " version:" + BuildConfig .VERSION_NAME );
6262 XposedHelpers .findAndHookMethod (Application .class , "onCreate" , new XC_MethodHook () {
6363 //受Atlas影响Application onCreate入口只需执行一次即可
@@ -78,18 +78,20 @@ protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
7878 });
7979 }
8080 //for multi user
81- XposedHelpers .findAndHookMethod (ActivityManager .class , "checkComponentPermission" , String .class , int .class , int .class , boolean .class , new XC_MethodHook () {
82- @ Override
83- protected void afterHookedMethod (MethodHookParam param ) throws Throwable {
84- String permission = (String ) param .args [0 ];
85- if (TextUtils .isEmpty (permission )) {
86- return ;
87- }
88- if (!permission .contains ("MANAGE_USERS" )) {
89- return ;
81+ if ("android" .equals (lpparam .processName ) || PACKAGE_NAME_WECHAT .equals (lpparam .packageName )) {
82+ XposedHelpers .findAndHookMethod (ActivityManager .class , "checkComponentPermission" , String .class , int .class , int .class , boolean .class , new XC_MethodHook () {
83+ @ Override
84+ protected void afterHookedMethod (MethodHookParam param ) throws Throwable {
85+ String permission = (String ) param .args [0 ];
86+ if (TextUtils .isEmpty (permission )) {
87+ return ;
88+ }
89+ if (!permission .contains ("MANAGE_USERS" )) {
90+ return ;
91+ }
92+ param .setResult (PackageManager .PERMISSION_GRANTED );
9093 }
91- param .setResult (PackageManager .PERMISSION_GRANTED );
92- }
93- });
94+ });
95+ }
9496 }
9597}
0 commit comments