如何在 BroadcastReceiver 中挂钩 onReceive 方法?
public class RecentsActivity extends Activity
{
mIntentReceiver = new BroadcastReceiver()
{
public void onReceive(Context context, Intent intent)
{
...
}
};
}
由于 BroadcastReceiver 是一个抽象类并且这是一个内联类定义,也许您可以通过以下方式检索此 BroadcastReceiver:
for(Class<?> cls : <package_name>.RecentsActivity.class.getDeclaredClasses()){
if(BroadcastReceiver.isAssignableFrom(cls)){
//hook onReceive
}
}
否则尝试使用apktool检查应用程序的 smali 代码。
可能有一个名为RecentsActivity$N 的文件(其中N 是一个数字)。只需执行Class.forName("<packagename>.RecentsActivity$N")
并挂钩此类 onReceive 方法即可。
祝你好运!