这是代码段,用于请求访问设备中精细位置的权限。
.optset
如果我改用ActivityCompat切换了ContextCompat,反之亦然,我的代码是否仍能按需运行?例如,
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的子类,但是什么决定何时使用ContextCompat或ActivityCompat,因为它们共享相同的方法?
答案 0 :(得分:1)
实际上没有任何取舍。不知道他们为什么这么写-checkSelfPermission()是ContextCompat的一种方法,而ActivityCompat是ContextCompat的子类(子类),因此,无论何时需要ContextCompat类的对象,都可以传递任何一个。