【问题标题】:Launch Mode Singletop not working with permisison dialog showing启动模式 Singletop 无法使用权​​限对话框显示
【发布时间】:2018-09-30 20:59:09
【问题描述】:

我有一个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);

【问题讨论】:

  • 添加一些代码来解释问题。和清单条目。
  • 您能否将launchMode也添加到您的呼叫意图中:loginIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
  • 如果没有权限弹出窗口,它可以工作
  • 你在onCreate()请求权限吗?
  • @Sagar 是在 onCreate 中请求

标签: android android-permissions launchmode


【解决方案1】:

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

Request permission dialog pauses my activity

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-06
    • 2011-11-24
    • 1970-01-01
    • 2015-10-30
    • 1970-01-01
    相关资源
    最近更新 更多