我有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);
答案 0 :(得分:1)
显示权限对话框通常会在Activity
之上启动另一个Activity
(系统Activity
)。在这种情况下,您的Activity
将被暂停(onPause()
被调用)。此时,您的Activity
不再是堆栈中的顶级Activity
,因此Activity
的另一次启动将创建另一个实例,即使&#34; singleTop&#34;启动模式和/或Intent.FLAG_ACTIVITY_SINGLE_TOP
已指定。
请参阅Request permission dialog pauses my activity
要解决此问题,您应确保尽早拥有可能需要的所有权限,或重新设置应用程序,以免出现多个实例的问题。