gpt4 book ai didi

从 SEND Intent 启动时,Android 应用在 "recent apps"列表中的行为不同

转载 作者:行者123 更新时间:2023-11-30 03:47:29 29 4
gpt4 key购买 nike

我有一个对一些文本数据进行操作的简单 Android 应用程序。该应用程序有两种调用方式:1) 从启动器启动应用程序并手动输入文本数据,或 2) 使用 SEND Intent 与其共享一些文本。

当通过启动器启动时,一切都如我所料。当通过共享功能启动并随后使用应用程序切换器/最近的应用程序按钮时,该应用程序显示为“Android 系统”,如果我切换离开它就会消失。我希望它像任何其他应用程序一样出现在该列表中,并在切换时保持不变。所以问题是:为什么我的应用程序从不同的 Intent 启动时表现不同?我敢肯定有一些关于 Intents、Activity 和 Tasks 的基本知识我不了解,但我什至无法确定去哪里看。

这是 list 的相关部分。

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.stub2.Main"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
</activity>
</application>

最佳答案

例如,用户使用 ACTION_SEND 调用您的 Activity Main 以及一些文本 abc。还有一次,他用文本 zzz 调用了 Main。然后你将在最近的列表中有 2 个 Main 的实例,具有不同的 Intent 。


编辑

您可以向 AdapterActivity 等“适配器” Activity 注册 ACTION_SEND,然后将文本转发到 Main。通过这种方式,如果用户从启动器启动您的应用(Main Activity ),它只会在最近的应用中列出。

<activity
android:name="AdapterActivity"
android:excludeFromRecents="true" />

还有更多的 Activity 标签here .

关于从 SEND Intent 启动时,Android 应用在 "recent apps"列表中的行为不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14742539/

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