其他分享
首页 > 其他分享> > android – 改变getRecentTasks的结果

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