这是我的项目结构:
"应用"和" mylibrary"编译"平台"。
平台有应用程序类,由#34; app"在清单中作为应用程序类。
在应用程序类中,我尝试使用以下代码获取所有可用服务(ServiceDefault来自" app"和插件服务来自" mylibrary"):
public final static String ACTION_PLUGIN_PROVIDER = "12345";
PackageManager packageManager = getPackageManager();
Intent intent = new Intent(ACTION_PLUGIN_PROVIDER);
List<ResolveInfo> resolveInfos = packageManager.queryIntentServices(intent, PackageManager.GET_RESOLVED_FILTER);
现在所有服务都是空的并且只是声明。所以这里是清单的声明:
<service android:name=".ServiceDefault"><intent-filter><action android:name="12345" /></intent-filter></service>
<service android:name=".PluginService" android:exported="true" android:process=":remote"><intent-filter><action android:name="12345" /></intent-filter></service>
接下来是我的问题。为什么这行代码只返回放置在&#34; app&#34;中的服务的解析信息?叫做#34; ServiceDefault。&#34;
packageManager.queryIntentServices(intent, PackageManager.GET_RESOLVED_FILTER);
我需要更改,使用resolveIntentServices()方法获取两个服务(ServiceDefault和PluginService)?