Mar*_*ski 7 android android-manifest android-recents
在我的一个应用程序中,我看到了很奇怪的行为:当我的应用程序在前台运行时(最顶层),然后我可以在系统的最近看到它的活动.但是一旦我把它放到后台,AccountsActivity很久以前列出的相同活动(即)就不再存在于最近.我的清单文件的相关部分:
<application
android:name=".WebnetApplication"
android:allowBackup="false"
android:allowClearUserData="true"
android:hardwareAccelerated="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".StartActivity"
android:alwaysRetainTaskState="true"
android:excludeFromRecents="true"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoDisplay" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".AccountsActivity"
android:excludeFromRecents="false"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustResize" />
...
Run Code Online (Sandbox Code Playgroud)
由于这是我唯一一个行为不端的应用程序,我检查了所有样式,我的WebnetActivity并WebnetApplication确保我不会调用任何可能影响最近的东西.没有这样的.
然后我开始删除Manifest文件以查看是否会发生变化.正如预期的那样,罪魁祸首潜伏在那里,但对我来说仍然不是很清楚.在开始时,AccountsActivityManifest中的android:excludeFromRecents条目根本没有条目 - 这导致在AccountsActivity根本不可见.当我添加时android:excludeFromRecents="true",活动在"最近"中变得可见,但只有当它在前面时才会显示.当我向后移动时,它从最近消失了.当我android:excludeFromRecents="true"从StartActivity声明中删除时,AccountsActivity无论应用程序是在前面还是在后台,都可以在最近显示,我可以android:excludeFromRecents完全删除它的条目而没有任何问题.
目前我正在弯着脑子试图理解为什么一切都这样 - 这是正常的(我不知道什么)或者它可能是框架中的错误?任何人都面临类似的问题,可以分享经验,想法或解释?
android:excludeFromRecents="true"从主要活动中删除.
引用来自android:excludeFromRecents:
是否应从最近使用的应用程序列表("最近的应用程序")中排除此活动启动的任务.也就是说,当此活动是新任务的根活动时,此属性确定该任务是否不应出现在最近的应用列表中.如果任务应从列表中排除,则设置为"true"; 如果应该包含它,则设置"false".默认值为"false".
| 归档时间: |
|
| 查看次数: |
1837 次 |
| 最近记录: |