Android-应用是从root活动开始的,而不是恢复到上一次活动的状态(现有错误)

时间:2019-06-28 00:09:45

标签: android kotlin

我知道这是一个已知的错误,并且已经登录到Google。我还浏览了SO上现有的帖子,但是提到的解决方法对我来说不起作用,因此请检查我是否做错了事。

因此,我的应用程序的布局方式是,我有一个主活动(谁是启动器),然后登录活动,一旦用户完成登录,主活动就会回来显示一个片段。问题是当我启动应用程序时,出现主活动,然后按一个按钮,然后出现登录活动。现在,当我回到后台并返回时,将显示主要活动,而不是登录活动。

以下是我在主要活动的onCreate中尝试的两种解决方法,但是没有用:

if (!isTaskRoot
        && intent.hasCategory(Intent.CATEGORY_LAUNCHER)
        && intent.action != null
        && intent.action == Intent.ACTION_MAIN) {

    finish()
    return
}

if (!isTaskRoot && intent.flags != null && Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT != 0) {
    finish()
    return
}

Android清单文件:

<activity
    android:name=".MainActivity"
    android:screenOrientation="portrait"
    android:windowSoftInputMode="adjustNothing"
    android:launchMode="singleTask"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="test-app" />
        <data android:host="loc" />
    </intent-filter>
    <intent-filter android:autoVerify="true">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="https" />
        <data android:scheme="http" />
        <data android:host="*" />
        <data android:pathPattern="/.*/apps/testApp.*" />
    </intent-filter>
</activity>
<activity
    android:name=".SignInActivity"
    android:screenOrientation="portrait"
    android:windowSoftInputMode="adjustPan" />

要显示登录活动:

startActivityForResult(Intent(this, SignInActivity::class.java), 123)

我在做错什么吗?我还能尝试什么吗?

0 个答案:

没有答案