android 从活动调用的registerForActivityResult()找不到符号

qhhrdooz  于 2022-12-31  发布在  Android
关注(0)|答案(1)|浏览(503)

我正在使用一个框架开发一个Android应用程序,该框架通过API为我提供主Activity对象。我想使用registerForActivityResult()请求权限,但问题是如果我尝试使用Activity对象进行调用,如:

myActivityObject.registerForActivityResult(...)

编译器返回错误“找不到符号”。我猜这是因为框架使用普通Activity类而不是新的AppCompatActivity创建应用程序,并且此API在基本Activity上不可用。但是,Activity对象是我唯一可用的对象,我无法更改框架代码,因此如何才能使registerForActivityResult()正常工作?
谢谢

uujelgoq

uujelgoq1#

如果您知道框架提供给您的Activity对象是ComponentActivity,那么您可以简单地将返回的对象强制转换为ComponentActivity,然后在其上调用registerForActivityResult()
如果从框架中获取的实际对象是Activity,则不能使用此机制。
您可以添加一些日志记录或使用调试器来确定从框架返回的对象的实际类。

相关问题