gpt4 book ai didi

android - 解析所有匹配 Intent 过滤器的服务

转载 作者:太空狗 更新时间:2023-10-29 13:21:30 26 4
gpt4 key购买 nike

我想检索与特定 intent-filter 匹配的所有服务。我有以下代码:

TestService 的 AndroidManifest.xml :

    <service
android:name=".TestService"
android:exported="true"
android:permission="com.example.MY_PERMISSIONS"
>
<intent-filter>
<action android:name="com.example.myaction" />

<data
android:host="myhost"
android:scheme="https" />

<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</service>

在应用程序中查询 PackageManager :

    PackageManager packageManager = getPackageManager();
Intent intent = new Intent("com.example.myaction");
List<ResolveInfo> resolveInfos = packageManager.queryIntentServices(intent, 0);
Log.d(TAG,String.valueOf(resolveInfos.size()));

这返回一个值 = 0。我不知道是什么问题?

最佳答案

你的 Intent<intent-filter> 不匹配.

这主要是 <intent-filter> 的问题, 恕我直言, 作为 <data><category>通常不与服务一起使用 <intent-filter>定义。

也就是说,如果你想保留 <intent-filter>按原样,您需要一个 Intent匹配 <data><category>以及 <action> .注意 Intents与服务一起使用不会自动获得CATEGORY_DEFAULT添加到他们,方式Intents与 Activity 一起使用时。

关于android - 解析所有匹配 Intent 过滤器的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28073165/

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