吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1131|回复: 2
收起左侧

[求助] 有会JAVA的大佬吗?一个简单超的问题。如何获取Activity

[复制链接]
qjmfktlf 发表于 2022-4-13 21:31
25吾爱币
本帖最后由 qjmfktlf 于 2022-4-14 00:38 编辑

大佬们,我是刚学JAVA。这个问题百度了一个星期找不到解决方法,无奈求助大佬们。

我想要在MainXposed类里面发送广播。但是MainXposed类里面MainActivity要怎么获取啊?


这是MainXposed类
[Java] 纯文本查看 复制代码
    //hook数据库插入操作
    private void hookDatabaseInsert(final XC_LoadPackage.LoadPackageParam loadPackageParam) {
        Class<?> classDb = XposedHelpers.findClassIfExists("com.tencent.wcdb.database.SQLiteDatabase", loadPackageParam.classLoader);

          XposedHelpers.findAndHookMethod(classDb, "insertWithOnConflict", String.class, String.class, ContentValues.class, int.class, new XC_MethodHook() {
            @Override
            protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                String tableName = (String) param.args[0];
                ContentValues contentValues = (ContentValues) param.args[2];
                String strTalker = contentValues.getAsString("talker");//说话人ID
                int isSend = contentValues.getAsInteger("isSend");//1:是不是自己发送的消息

                if ((tableName.equals("message")) && (isSend == 0)){   //是微信消息&&是某群消息
                    WeChatReply wechat = new WeChatReply();
                    wechat.sendIntent(activity,strTalker,"自动回复");
                }
            }
        });
    }


这是WeChatReply 类
[Java] 纯文本查看 复制代码
public class WeChatReply extends AppCompatActivity {

    public void sendIntent (Activity act,String addressee,String text){
        Intent intent=new Intent("toTasker");
        Bundle bundle = new Bundle();
        bundle.putString("sean1", addressee);
        bundle.putString("sean2", text);
        intent.putExtras(bundle);
        act.sendBroadcast(intent);
    }
}

最佳答案

查看完整内容

[mw_shl_code=java,true]public class Hook implements IXposedHookLoadPackage { public static Activity 上下文; @Override public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable { //判断是不是这个软件包名,不判断的话,全部的软件都会被hook if (!lpparam.packageName.equals("com.mycompany.myapp")) return; //提示("已hoo ...

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

小骚 发表于 2022-4-13 21:31
[Java] 纯文本查看 复制代码
public class Hook implements IXposedHookLoadPackage {
    public static Activity 上下文;

    @Override
    public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
        //判断是不是这个软件包名,不判断的话,全部的软件都会被hook
        if (!lpparam.packageName.equals("com.mycompany.myapp"))
            return;
        //提示("已hook的包名∶" + 包名.packageName);
        if (上下文 == null) {
            XposedHelpers.findAndHookMethod(Activity.class, "onCreate", Bundle.class, new XC_MethodHook() {
                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    super.afterHookedMethod(param);
                    if (上下文 == null) {
                        上下文 = (Activity) param.thisObject;
                        XposedBridge.log("得到Activity上下文");
                    }
                }
            });
        }
    }
}
 楼主| qjmfktlf 发表于 2022-4-17 00:15
小骚 发表于 2022-4-15 19:32
[mw_shl_code=java,true]public class Hook implements IXposedHookLoadPackage {
    public static Acti ...

大佬,你这个我看不懂啊,
我的问题前两天已经解决了。
看了 奋进的代码 大佬的教程。还是谢谢你,对了你的代码是啥意思


XposedHelpers.findAndHookMethod(ContextThemeWrapper.class, "attachBaseContext",Context.class, new XC_MethodHook() {
            @Override
            protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                context=(Context) param.args[0];
            }
        });
IMG_20220417_001400.jpg



您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 14:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表