gpt4 book ai didi

java - ActivityCompat 和 ContextCompat 可以互换吗?

转载 作者:行者123 更新时间:2023-11-29 23:13:56 37 4
gpt4 key购买 nike

这是一段代码,用于请求访问设备中精确位置的权限。

if(ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED){

ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);

}

...

如果我将 ContextCompat 切换为 ActivityCompat 反之亦然,我的代码是否仍能按预期运行?例如,

if(ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED){

ContextCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);

}

...

我知道 ContextCompat 是 ActivityCompat 的子类,但是什么决定何时使用 ContextCompat 或 ActivityCompat,因为它们共享相同的方法?

最佳答案

真的没有权衡取舍。不确定他们为什么这样写 - checkSelfPermission() 是 ContextCompat 的一种方法,而 ActivityCompat 是 ContextCompat 的子类(子类),因此只要需要 ContextCompat 类的对象,您就可以传递其中任何一个。

refer

关于java - ActivityCompat 和 ContextCompat 可以互换吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55628604/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com