gpt4 book ai didi

Android记事本应用的NoteList Activity Intent 解析

转载 作者:行者123 更新时间:2023-11-30 04:31:13 25 4
gpt4 key购买 nike

谁能解释一下,NoteList Activity 什么时候会产生 Intent 操作 ACTION_VIEW、ACTION_EDIT、ACTION_GET_CONTENT。

我尝试从 NoteList Activity 中注释掉下面特定 Intent 的代码,并且该应用程序运行良好

<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.EDIT" />
<action android:name="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.dir/vnd.google.note" />
</intent-filter>

同样在 NoteList Activity 中,我没有找到对以下 Intent 操作的任何处理。那么为什么还要定义它们呢??

假设一些 startActivityFoorResult() 调用了这个 Intent ,当 NoteList Activity 中没有任何处理程序时,这个 Intent 甚至如何在 NoteList 中解析。还有谁可以在示例中调用 Intent 操作?

Android 记事本示例的链接如下。

http://developer.android.com/guide/topics/intents/intents-filters.html

http://developer.android.com/resources/samples/NotePad/index.html

提前致谢

最佳答案

如果您注意到 Intent 过滤器中的最后一行,您会看到它指定了一个 MIME 类型。这会将应用程序与该 mime 类型相关联。这意味着当您打开具有该 mime 类型的文件/url 时,它将尝试使用此应用程序打开它。您删除了 Intent 过滤器这一事实并不一定意味着该应用程序将停止工作,它只是不再处理这种 MIME 类型。

内部NotesList.java您将看到对 Intent.ACTION_EDITIntent.ACTION_PICK 等的多个引用,它们是 "android.intent.action.EDIT" 的常量等

更新:

如果您查看 manifest file您会看到最低 SDK 版本设置为 11。这显然是一个 HoneyComb list 文件。我看了一眼代码,网站上直接链接的代码似乎没有使用 fragment ,但我强烈怀疑 list 是针对使用 fragment 的版本。我肯定知道有一个带有 fragment 的版本,因为我在某个时候玩过它。谷歌将其用于他们最近的 Android 开发者实验室。这将与您看到的 Intent 过滤器相匹配,因为它将允许编辑/查看/从列表中选择一个注释,这将打开 fragment 以查看/编辑/等。简而言之,我认为代码和 list 可能有点不同步。

关于Android记事本应用的NoteList Activity Intent 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7670830/

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