gpt4 book ai didi

java - 如何在 list 中添加 标签?

转载 作者:行者123 更新时间:2023-12-04 23:40:40 26 4
gpt4 key购买 nike

我有这段代码,有人告诉我,对于 Android 11,我需要添加 queries list 中的标记:

    final PackageManager pm = getPackageManager();
Intent main = new Intent(Intent.ACTION_MAIN, null);
main.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> packages = pm.queryIntentActivities(main, 0); //get a list of installed apps.
有人告诉我应该是这样的:
  <queries>
<intent>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent>

</queries>
问题是我无法添加 <category>标签。 Android Studio 说那里不允许该元素。我只能添加 <action><data> <intent> 内的标签.似乎SO上的其他人也有这个问题。这很奇怪,因为 Android 自己的文档指示我们使用 <category>标记那里。

最佳答案

The <queries> section is introduced in API 30 ,因此请确保仅在向上定位此类版本时才使用它。
例如,当您想从您的应用程序中启动一些其他应用程序时,确实需要它,只知道它们的包名称。否则,使用包管理器会返回一些 null使用 packageManager.getLaunchIntentForPackage("com.yyy") 等函数时.您可以在这里找到更多信息:Package visibility in Android 11
在您的情况下,您可以像这样编写部分:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxx">

...

<queries>
<intent>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent>
</queries>

...

</manifest>

关于java - 如何在 list 中添加 <queries> 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67043062/

26 4 0