gpt4 book ai didi

android - 改变 getRecentTasks 的结果

转载 作者:太空宇宙 更新时间:2023-11-03 13:04:55 24 4
gpt4 key购买 nike

我有一个专为平板电脑设计的应用程序,在工作环境中,许多人会将相机作为日常工作的一部分。虽然主管离开应用程序是适当且必要的,但其他人应该很难不小心这样做。但是,很容易不小心长按主页键。我自己做过。这将显示最近的任务列表;用户可以点击其中的任何一个,然后他们就迷路了,因为其中一些并不像普通智能手机用户那样老练。

您可以通过 getRecentTasks 以编程方式检索此列表。我的问题是如何从该列表中删除除了最近的任务(我的)之外的所有任务,将长度减少到一个元素,或者更改列出的任务以指向我的应用程序。我知道这是可能的:Toddler Lock 做到了。

我的第一个尝试是修改返回的 Intent ,希望它们通过引用传递。没有这样的运气。还有其他想法吗?

(我说的不是短按 Home 键。我已经想通了,部分基于这里找到的东西。)

最佳答案

感谢 Toddler Lock 的作者,我与他讨论了这个问题。引入的错误完全是我的。

在您的 list 中创建一个禁用的 Activity ,其亲和性等于空字符串。在您的程序中,启用它,然后使用标记为 FLAG_ACTIVITY_NEW_TASK 的 Intent 启动它。会在最近的 Activity 中体现出来。禁用该任务,它就会从显示屏上消失。

这些足够了,你就会淹没最近的 Activity 显示。如果它有办法返回比您拥有的虚拟 Activity 更多的 Activity ,则用户将能够退出您的程序。

确保在退出时禁用这些任务,并确保如果您从最近的 Activity 中选择其中一项任务,您的程序会做一些合理的事情。

这是我的 list 中的两个任务的示例:

    <activity android:name="com.foo.android.recentactivity.Clear1"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:label="."
android:enabled="false"
android:icon="@drawable/clearicon"
android:taskAffinity="" />
<activity android:name="com.foo.android.recentactivity.Clear2"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:label="."
android:enabled="false"
android:icon="@drawable/clearicon"
android:taskAffinity="" />

关于android - 改变 getRecentTasks 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6258980/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com