Android: получить контекст Activity после открытия Activity
Подскажите плиз, как получить контекст активити классе Application. В методе notificationOpened я пытаюсь загрузить страницу в webview.Для этого я создаю intent, который проверяет запущена ли активити, и если нет, создает ее. Когда активити уже запущена ссылку на нее получить удается, но если нет,получается null pointer exception, потому что строка currentActivity=(c.getApplicationContext() as App).getCurrentActivity()!! выполняется вперед метода onCreate(), я так думаю по крайней мере. Вопрос в следующем:Как получить ссылку на активити после запуска этой активити? Класс App:
class App() : Application() {
private val mCallbacks: MyActivityLifecycleCallbacks = MyActivityLifecycleCallbacks()
@SuppressLint("RestrictedApi")
override fun onCreate() {
super.onCreate()
registerActivityLifecycleCallbacks(mCallbacks)
Log.d("123", "app " + applicationContext.toString())
OneSignal.setLogLevel(OneSignal.LOG_LEVEL.VERBOSE, OneSignal.LOG_LEVEL.NONE)
// OneSignal Initialization
OneSignal.initWithContext(this)
OneSignal.setAppId(ONESIGNAL_APP_ID)
OneSignal.setNotificationOpenedHandler()
{ result ->
Log.d("123", "app pushka")
val s:String=result.notification.launchURL
}
}
class MyActivityLifecycleCallbacks() : Application.ActivityLifecycleCallbacks {
var currentActivity: Activity? = null
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {
currentActivity = activity
Log.d("123", "OnCreate"+currentActivity.toString())
}
override fun onActivityStarted(activity: Activity) {
currentActivity = activity
Log.d("123","OnStart"+ currentActivity.toString())
}
override fun onActivityResumed(activity: Activity) {
currentActivity = activity
Log.d("123", currentActivity.toString())
}
override fun onActivityPaused(activity: Activity) {
currentActivity = activity
Log.d("123", currentActivity.toString())
}
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {
}
override fun onActivityStopped(activity: Activity) {
}
override fun onActivityDestroyed(activity: Activity) {
}
}
}