В целом существует два типа классов. Единицы, которые расширяют класс ContextWrapper
(Activity
, Service
, Application
) и те, которые его не расширяют (например, View
).
Если класс расширяется ContextWrapper
, тогда вы можете использовать this
как Context
. Такие классы обычно не имеют getContext()
метода.
Те классы, которые не расширяют ContextWrapper
, но все еще сохраняют и используют Context
, как правило, предоставляют функцию getContext()
. И вы не можете использовать this
как Context
в таких случаях.
И эти два случая взаимоисключающие. По крайней мере, я не помню классов, которые расширяют ContextWrapper
и имеют getContext
одновременно.