启动模式Singletop无法使用permisison对话框显示

时间:2018-04-20 07:46:41

标签: android android-permissions launchmode

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

但是当存在权限对话框并且为该活动提供新的Intent时,将创建另一个实例。 onNewIntent()没有被调用。

对此有何解决方法?

以下是清单条目。

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

我开始此活动的方式:

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

1 个答案:

答案 0 :(得分:1)

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

请参阅Request permission dialog pauses my activity

要解决此问题,您应确保尽早拥有可能需要的所有权限,或重新设置应用程序,以免出现多个实例的问题。