Android 解析与意图筛选器匹配的所有服务
我想检索与特定意图筛选器匹配的所有服务。我有以下代码: TestService的AndroidManifest.xml:Android 解析与意图筛选器匹配的所有服务,android,android-intent,android-service,intentfilter,android-package-managers,Android,Android Intent,Android Service,Intentfilter,Android Package Managers,我想检索与特定意图筛选器匹配的所有服务。我有以下代码: TestService的AndroidManifest.xml: <service android:name=".TestService" android:exported="true" android:permission="com.example.MY_PERMISSIONS" > <intent-filter>
<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()));
PackageManager-PackageManager=getPackageManager();
意向意向=新意向(“com.example.myaction”);
List resolveInfos=packageManager.querytentservices(intent,0);
Log.d(TAG、String.valueOf(resolveInfos.size());
这将返回一个值=0。我不知道是什么问题?您的
意图与
不匹配
这主要是
IMHO的问题,因为
和
通常不用于服务
定义
也就是说,如果您想保持
的原样,您需要有一个与
和
以及
匹配的意图。请注意,与服务一起使用的intent
不会自动将CATEGORY\u DEFAULT
添加到它们中,与活动一起使用时的intent
方式相同。谢谢!删除
有效。如何修改仅使用主机和架构参数合并
的意图,如我的示例中所示?@devashishjasani:CallsetData()
或setDataAndType()
上的intent
带有合适的Uri
。