【问题标题】:Click on app icon destroys activities单击应用程序图标会破坏活动
【发布时间】:2015-10-17 09:41:19
【问题描述】:

我在当前正在开发的新应用程序中遇到一个奇怪的问题,如果我将应用程序发送到后台(主页按钮),然后使用应用程序图标重新启动应用程序,除根以外的所有活动活动被销毁(在日志上我得到所有活动的 OnDestroy,除了调用 OnResume 的根活动)。

如果我将它发送到后台并从当前任务中恢复它,它会恢复应用程序。

我已将android:launchMode="singleTask" 添加到应用清单上的所有活动中,但没有任何区别。

各项活动正常启动:startActivity(new Intent(this, nextClass));

有没有办法在按下应用图标时恢复应用?

AndroidManifest.xml

<application
    tools:replace="android:icon"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme"
    android:screenOrientation="landscape"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:name="com.example.game.classes.App">
    <activity
        android:name=".LaunchScreenActivity"
        android:label="@string/app_name"
        android:screenOrientation="landscape"
        android:launchMode="singleTask"
        android:configChanges="keyboardHidden|orientation|screenSize">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".HomeActivity"
        android:label="@string/app_name"
        android:screenOrientation="landscape"
        android:launchMode="singleTask"
        android:configChanges="keyboardHidden|orientation|screenSize"/>
    <activity
        android:name=".PlayActivity"
        android:label="@string/app_name"
        android:screenOrientation="landscape"
        android:launchMode="singleTask"
        android:configChanges="keyboardHidden|orientation|screenSize" />
.
.
.

编辑:解释为不重复 App restarts rather than resumes

这种情况和我的不同之处在于,在这种情况下,主要活动是在其他活动之上启动的(您可以按返回以返回到之前正在运行的活动)。在我的情况下,除了启动活动被恢复之外,其他活动都被完全破坏了。

【问题讨论】:

  • 老实说,我四处搜索并没有注意到这个问题。这种情况与我的主要区别在于,在他的情况下,如果您按“返回”,您将返回到之前的跑步活动。在我的情况下,如果你按下返回,你会退出应用程序(当你按下应用程序图标时,之前正在运行的活动被破坏)

标签: android


【解决方案1】:

经过几天寻找解决方案..我终于找到了问题。 问题是将android:launchMode="singleTask" 添加到每个活动中。

我从除根活动之外的所有活动中删除了它,现在它可以按我的意愿工作了。

【讨论】:

  • 你真是个天才。谢谢!
  • Pin Lock 活动怎么样?在这种情况下,PIN 锁定屏幕将被破坏。我希望在点击应用图标时将其带回来
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多