L.N*_*Nam 6 android kindle-fire amazon-device-messaging
我正在按照此官方文档将亚马逊设备消息传递集成到我的应用程序中。根据文档,我必须创建一个扩展ADMMessageHandlerJobBase的类 (MyADMMessageHandler.java)并在 AndroidManifest.xml 中将我的类声明为服务
AndroidManifest.xml
<service android:name=".pn.MyADMMessageHandler"
android:exported="false"
android:permission="android.permission.BIND_JOB_SERVICE"/>
Run Code Online (Sandbox Code Playgroud)
但是当我构建我的应用程序时,我收到了这个错误
AndroidManifest.xml:153: Error: MyADMMessageHandler must extend android.app.Service [Instantiatable]
<service android:name=".pn.MyADMMessageHandler"
Explanation for issues of type "Instantiatable":
Activities, services, broadcast receivers etc. registered in the manifest
file (or for custom views, in a layout file) must be "instantiatable" by
the system, which means that the class must be public, it must have an
empty public constructor, and if it's an inner class, it must be a static
inner class.
1 errors, 0 warnings
BUILD SUCCESSFUL in 18s
Run Code Online (Sandbox Code Playgroud)
尽管出现这个错误,我仍然构建成功。我反编译了amazon-device-messaging-1.1.0.jar以查看发生了什么,但它只包含存根实现,并且ADMMessageHandlerJobBase不扩展 Service 或 Service 的任何子类。
那么MyADMMessageHandler类不是一个Service,但是为什么我们需要在AndroidManifest.xml中将它声明为一个Service呢?
注意:在亚马逊设备消息传递的示例代码中,也做了同样的事情。
更新1
我也在这里问过,并得到了答复:
如果您遵循此1文档,那么应该没问题。您看到的错误应该只是一个警告,可以忽略。AndroidManifest.xml 中的声明是必须的。