android – 改变getRecentTasks的结果
作者:互联网
我有一个专为平板电脑设计的应用程序,在工作场所设置,许多人将使用相机作为他们的日常工作的一部分.虽然主管离开应用程序是合适和必要的,但其他人偶然难以这样做.但是,长按主页键很容易意外.我自己做了.这列出了最近的任务清单;用户可以点击其中任何一个并丢失,因为其中一些并不像普通智能手机用户那样复杂.
以编程方式,您可以通过getRecentTasks检索此列表.我的问题是如何从该列表中删除除最近的任务(我的)以外的所有任务,将长度减少到只有一个元素,或者将列出的任务更改为指向我的应用程序.我知道这是可能的:Toddler Lock做到了.
我的第一次尝试是修改返回的意图,希望它们通过引用传递.没有这样的运气.还有其他想法吗?
(我不是在谈论短按主页键.我已经想出了一个,部分基于这里找到的东西.)
解决方法:
归功于Toddler Lock的作者,我和他谈到了这个问题.引入的错误完全是我的.
在清单中创建一个禁用活动,其亲和力等于空字符串.在您的程序中,启用它,然后使用标记为FLAG_ACTIVITY_NEW_TASK的意图启动它.它将出现在最近的活动中.禁用任务,它将从显示屏上消失.
充分利用这些并充实最近的活动展示.如果它有办法返回比你有虚拟活动更多的活动,用户将能够退出你的程序.
确保在退出时禁用任务,并确保如果从最近的活动中选择其中一个任务,则程序会执行合理的操作.
以下是我的清单中两个任务的示例:
<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-homebutton,android 来源: https://codeday.me/bug/20190903/1796755.html