我在我的android应用程序中包含了一个aar库。无论库清单文件中有哪些活动,服务,接收器,我都将其复制到应用程序清单文件中。
现在我想通过AIDL调用库服务。当我启动服务时,得到问题"无法启动服务意图"
有人可以帮助我做些什么来使其发挥作用吗? 操作系统如何告诉该服务在库中可用?
Aar文件库包名是" com.abc.lib"。 aar清单文件中的服务:
<service android:name="com.abc.lib.MyService"
android:exported="true">
<intent-filter>
<action android:name="com.abc.lib.aidl.IMyService"/>
</intent-filter>
</service>
使用以下代码从Application Activity文件调用上述服务:
ComponentName compName = null;
Intent i = new Intent("com.abc.lib.aidl.IMyService");
i.setPackage("com.abc.lib");
compName = startService(i);
return compName;
预感谢。
答案 0 :(得分:0)
而不是在intent.setPackage中的库包,我尝试了应用程序包,它工作。
ComponentName compName = null;
Intent i = new Intent("com.abc.lib.aidl.IMyService");
i.setPackage("com.abc.application"); //Instead of library package-give the application package
compName = startService(i);
return compName;