应用程序始终从启动屏幕重新打开

时间:2018-08-09 11:17:18

标签: android performance

仅当我在执行应用程序中的几个步骤后单击主页按钮时,我的应用程序中才存在特定设备的问题,因此最近的标签中显示了应用程序。 如果我从最近的选项卡打开应用程序,则它将从最后放置应用程序的最后一页打开,但是如果我单击应用程序图标而不是最近的选项卡,则该应用程序将从初始屏幕打开。

这只会发生在一个三星设备上,而其他应用在同一设备上运行正常。

如果有人遇到同样的问题,请帮助我。

2 个答案:

答案 0 :(得分:2)

我过去确实遇到过同样的问题,而三星设备也遇到过同样的问题。

在我的案例中起作用的解决方案(可能是对您的临时修复,因为我未在其他型号的Samsung上进行过测试)是在初始/启动Activity的onCreate()中编写以下代码:

    if (!isTaskRoot()
            && getIntent().hasCategory(Intent.CATEGORY_LAUNCHER)
            && getIntent().getAction() != null
            && getIntent().getAction().equals(Intent.ACTION_MAIN)) {

        finish();
        return;
    }

答案 1 :(得分:1)

Android Manifest文件是确定“启动器”或从图标打开应用程序时将开始的活动的源。浏览应用程序时,如果您打开另一个应用程序或按主屏幕按钮,则应用程序将进入前台或“暂停”状态。这就是为什么当您在“最近使用的标签”中找到您的应用时,该应用会从其最后一个位置恢复。问题是您希望您的应用从哪里开始? 您的Android清单文件应该是项目文件列表中唯一带有橙色图标的文件。打开它,它应该看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.bnr.que_snitch">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity
            android:name=".CrimePagerActivity"
            android:parentActivityName=".CrimeListActivity">
        </activity>
        <activity
            android:name=".CrimeListActivity">

                  //THIS IS YOUR LAUNCHER!!!

            <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>

要复制并粘贴启动器(所有内容都在intent过滤器标签中),然后将其粘贴到您希望应用程序启动的活动标签中。