我正在通过在AOSP之上编写启动器来学习android,并寻找从category
中包含某些intent-filter
的安装包中获取所有服务的方法
我当前的做法是
final PackageManager pm = getPackageManager();
int flags = PackageManager.GET_INTENT_FILTERS | PackageManager.GET_SERVICES;
List<PackageInfo> packages = pm.getInstalledPackages(flags);
for (PackageInfo packageInfo : packages) {
Log.d(TAG, "Installed package: " + packageInfo.packageName);
for (ServiceInfo service : packageInfo.services) {
Log.d(TAG, "Service: " + service.packageName);
// ???
}
}
在Manifest.xml
中定义的服务示例:
<service
android:name=".ComplicationIntentService"
android:exported="true">
<intent-filter>
<category android:name="my.intent.CATEGORY" />
</intent-filter>
</service>
ServiceInfo
对象似乎不包含有关意图过滤器的信息,一些搜索似乎表明这没有实现
有什么想法吗?