我正在为现有游戏引擎编写自己的插件(可以说它是与主应用程序相关的第 3 方库)。
因此,我无法访问 MainActivity
源。
尽管如此,我必须以某种方式对主要 Activity lifecycle
事件(onCreate、onDestroy、onPause、onResume、onNewIntent
和其他一些不重要的事件)使用react。
感谢 Application.ActivityLifecycleCallbacks
,我对其中的大部分都没有问题。
onNewIntent() 出现问题.我无法找到此事件的监听器
,也无法想象处理它的方法。
有谁知道如何捕捉 onNewIntent
事件(当然,除了重写它)?
最佳答案
onNewIntent() 适用于已经在堆栈中其他地方运行的 singleTop 或 singleTask Activity 。如果 MainActivity 没有用 singleTop 或 singleTask 属性声明,即使你使用下面的代码,它也不会工作:
@Override //won't be called if no singleTop/singleTask attributes are used
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
// ...
}
为确保 Hook 所有设置逻辑,最好通过使用 getIntent() 来使用 onResume()。
@Override
protected void onResume() { //will be called in any cases
super.onResume();
// getIntent() should always return the most recent
}
关于java - Android:如何为 Activity.onNewIntent() 设置监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38523129/