10

我試圖使用Android攝像頭,對於API 23或更高版本,它需要在運行時詢問權限。根據documentation,我可以使用ActivityCompat或ContextCompat來完成。我不明白這兩者之間的區別和它們的權衡。ActivityCompat和ContextCompat有什麼區別?

謝謝你的時間。

+1

ActivityCompat延伸ContextCompat – tachyonflux

+1

加成有用的信息[這裏](https://inthecheesefactory.com/blog/things-you-need-to-know-about -Android-M-允許開發者版/ EN)。清晰而短暫。 –

回答

13

我不明白是什麼兩個和他們權衡

之間的差異有沒有權衡真的。不知道他們爲什麼這麼寫 - checkSelfPermission()是一種方法ContextCompatActivityCompatContextCompat的子類(子),所以只要需要ContextCompat類的對象,就可以傳遞任意一個。

繼承層次(docs):

enter image description here

+0

謝謝Marcin!你回答了我的問題。我不知道ActivityCompat是ContextCompat的直接子代。 – Antuan

+1

很高興幫助。但是你總是可以檢查每個類的文檔中的類層次結構,即檢查[ActivityCompat文檔](https://developer.android.com/reference/android/support/v4/app/ActivityCompat.html),你會看到(在頂部)它擴展了'ContextCompat',它擴展了'Object'。 –

+0

我剛剛做到了。我沒有注意到這一點。再次感謝:-) – Antuan