我有一个Android应用程序,可以通过动态库进行扩展。我没有主应用程序的源代码,因此无法更改。除了android清单。我有主要应用程序的* .aar文件和正在一起构建的脚本。
主应用程序在我的库中创建一个新的Runnable类,并将其传递给上下文(活动)。我是从模式示例制作的库,它使用c ++代码通过jenv->CallObjectMethod
之类的本地调用来调用java方法。
一开始我有两个问题。首先是我需要为系统事件创建一个接收器。我通过使用从主应用程序接收到的上下文从代码动态创建接收器来解决此问题。
我无法解决并寻求帮助的第二个问题:我需要在动态库中的某个事件上使用意图过滤器创建服务,并且需要对其进行调用。但是服务必须在清单中,我将其写入清单中,但它不是在调用。
我试图在主应用清单中加入这样的部分:
</service>
<service
android:name="com.test.MyLib.MyService"
android:enabled="true"
android:exported="true">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="...some action..." />
</intent-filter>
</service>
我可以看到Android尝试在实际操作中尝试调用该服务,但实际上并未调用。 有什么办法可以像我对接收器所做的那样通过代码动态地使用意图过滤器来使其工作或以某种方式创建服务?