启动模式 Singletop 无法使用权​​限对话框显示

Launch Mode Singletop not working with permisison dialog showing

我有一个 Activity 启动模式 singleTop 显示权限对话框。

但是当存在权限对话框并且针对该 activity 出现新的 Intent 时,会创建另一个实例。 onNewIntent() 没有被调用。

有什么解决方法吗?

下面是清单条目。

<activity
        android:name=".auth.activity.AJRAuthActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.PageIndicatorDefaults"
        android:launchMode="singleTop"
        android:windowSoftInputMode="adjustResize" />

我开始的方式activity:

Intent loginIntent = new Intent(context, AJRAuthActivity.class);
context.startActivity(loginIntent);

显示权限对话框通常会在您的 Activity 之上启动另一个 Activity(系统 Activity)。在这种情况下,您的 Activity 将被暂停(调用 onPause())。那时,您的 Activity 不再是堆栈顶部的 Activity,因此 Activity 的另一次启动将创建另一个实例,即使 "singleTop" 启动模式 and/or Intent.FLAG_ACTIVITY_SINGLE_TOP 已指定。

要解决这个问题,您应该确保您尽早拥有可能需要的所有权限,或者重新构建您的应用程序,这样您就不会遇到多个实例的问题。