allenymt/PrivacySentry

继承问题

laoge-lol opened this issue · 7 comments

@PrivacyMethodProxy(
originalClass = Activity::class,
originalMethod = "requestPermissions",
originalOpcode = MethodInvokeOpcode.INVOKEVIRTUAL
)
@JvmStatic
fun requestPermissions(
context: MainActivity,
permission: Array,
requestCode:Int
) {
Toast.makeText(context,"Proxy test permission",Toast.LENGTH_LONG).show()
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
context.requestPermissions(permission,requestCode)
} else {
TODO("VERSION.SDK_INT < M")
}
}

如果MainActivity更换成Activity,那么就会出现找不到方法的crash,请问要怎么做呢?

现在我的参数必须是确定的类,不可以使用父类,不然会找不到对应的方法,因为参数类型不同

requestPermissions 这个方法目前还没适配过的,涉及到多态

你这里的MainActivity是你自己的类吧? 如果都替换了,其他aar又引用不到这个类

你这里的MainActivity是你自己的类吧? 如果都替换了,其他aar又引用不到这个类
是的,替换只是替换方法(比如:requestPermissions方法,集成自父类 ),MainActivity这个类还是存在的呀!

1.2.2