10

Ich versuche, die Android-Kamera zu verwenden, für API 23 oder höher muss zur Laufzeit nach der Berechtigung gefragt werden. Nach der documentation kann ich das mit ActivityCompat oder ContextCompat erreichen. Ich verstehe nicht, was der Unterschied zwischen den beiden und ihren Kompromissen ist.Was ist der Unterschied zwischen ActivityCompat und ContextCompat?

Vielen Dank für die Zeit.

+1

ActivityCompat erweitert ContextCompat – tachyonflux

+1

Zusatz nützliche Informationen [hier] (https://inthecheesefactory.com/blog/things-you-need-to-know-about -android-m-permission-entwickler-edition/de). Klar und kurz. –

Antwort

13

Ich verstehe nicht, was der Unterschied zwischen den beiden sind und ihre Abwägungen

Es gibt keinen Kompromiss wirklich. Nicht sicher, warum sie so geschrieben haben - checkSelfPermission() ist eine Methode von ContextCompat und ActivityCompat ist Unterklasse (untergeordnet) von ContextCompat, so dass Sie entweder eins übergeben können, wann immer Objekt der Klasse ContextCompat erforderlich ist.

Vererbungshierarchie (docs):

enter image description here

+0

Danke Marcin! Du hast meine Frage beantwortet. Ich wusste nicht, dass ActivityCompat ein direktes Kind von ContextCompat war. – Antuan

+1

Froh, dass es geholfen hat. Aber Sie können die Klassenhierarchie immer in der Dokumentation jeder Klasse überprüfen, z. B. [ActivityCompat docs] (https://developer.android.com/reference/android/support/v4/app/ActivityCompat.html) und Sie sehen (oben)) dass es 'ContextCompat' erweitert, wodurch' Object' erweitert wird. –

+0

habe ich gerade getan. Das hatte ich nicht bemerkt. vielen Dank nochmal :-) – Antuan

Verwandte Themen