ActivityCompat 和 ContextCompat 有啥区别?
Posted
技术标签:
【中文标题】ActivityCompat 和 ContextCompat 有啥区别?【英文标题】:What's the difference between ActivityCompat and ContextCompat?ActivityCompat 和 ContextCompat 有什么区别? 【发布时间】:2016-11-08 20:23:22 【问题描述】:我正在尝试使用 android 相机,对于 API 23 或更高版本,它需要在运行时请求许可。根据documentation,我可以使用ActivityCompat 或ContextCompat 来完成。我不明白两者之间有什么区别以及它们的取舍。
感谢您的宝贵时间。
【问题讨论】:
ActivityCompat 扩展了 ContextCompat 添加有用信息here。清晰而简短。 【参考方案1】:我不明白这两者之间有什么区别以及它们的取舍
真的没有取舍。不知道他们为什么这么写 - checkSelfPermission() 是 ContextCompat
的一种方法,而 ActivityCompat
是 ContextCompat
的子类(子类),因此您可以在需要 ContextCompat
类的对象时传递任何一个。
继承层次结构(docs):
【讨论】:
谢谢马尔辛!你回答了我的问题。我不知道 ActivityCompat 是 ContextCompat 的直接子代。 很高兴它有帮助。但是你总是可以在每个类的文档中检查类层次结构,即检查ActivityCompat docs,你会看到(在顶部)它扩展了ContextCompat
,它扩展了Object
。
我有同样的问题,我认为这个答案可以添加一个非常简短的说明,说明为什么 ContextCompat 和 ActivityCompat 在所有示例中的使用方式不同,因为这就是导致这种混淆的原因地点。以上是关于ActivityCompat 和 ContextCompat 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
导入android.support.v4.app.ActivityCompat;
Activity.requestPermissions 与 ActivityCompat.requestPermissions
离子电容器构建找不到符号 android.support.v4.app.ActivityCompat
Android 运行时权限流程:我可以使用 ActivityCompat.requestPermissions 发送额外内容吗?