Для какого объекта мне нужно вызвать getContext ()?
Использовать Application
Context. Вы можете использовать контекст приложения в любом месте вашего приложения.
Создайте свой собственный Application
класс
public class AppApplication extends Application {
private static AppApplication instance;
@Override
public void onCreate() {
super.onCreate();
instance = this;
}
public static AppApplication getInstance() {
return instance;
}
}
И получите доступ к контексту приложения следующим образом:
Context appContext = AppApplication.getInstance().getApplicationContext();
Сейчасс appContext
доступ к вашему ресурсу
Kotlin Версия:
class AppApplication :Application(){
companion object{
private lateinit var instance:AppApplication
fun getInstance():AppApplication{
return instance
}
}
override fun onCreate() {
super.onCreate()
instance = this
}
}
Доступ Application
Контекст
val applicationContext = AppApplication.getInstance().applicationContext
Убедитесь, что вы добавили васПользовательский AppApplication
класс в Manifest
<application
android:name=".AppApplication"
............
</application>
Использование прикладного контекста безопасно, поскольку нет Activity
или Fragment
Проблемы жизненного цикла