是否可以在子包中放置服务?

时间:2012-05-22 18:14:29

标签: android android-manifest

我的Service仅在我将MyService.java放在像

这样的包中时才有效
com.test.app

,但不在像

这样的子包中
com.test.app.services.MyService

在清单中,我尝试用

声明它
<service android:name=".services.MyService" />

或完全合格

<service android:name="com.test.app.services.MyService" />

但两种方式都没有效果。我正在使用子包来获得更好的文件结构。那么我真的不能将我的服务文件放在子包中或者我在这里遗漏了什么吗?

(我正在使用Android团队提供的Expansion Downloader Library。这涉及实现一项简单的服务。)

2 个答案:

答案 0 :(得分:1)

是的,您可以将它放在您想要的任何名称空间中。

除了子类化DownloaderService之外,您还需要阅读文档的其余部分,包括Starting the download。特别感兴趣的是这一行:

// Start the download service (if required)
int startResult = DownloaderClientMarshaller.startDownloadServiceIfRequired(this,
                pendingIntent, SampleDownloaderService.class);

请注意,您需要在此处提供自定义Service课程。

答案 1 :(得分:0)

我已经多次这样做了。有可能还有其他事情发生。我要检查的第一件事是确保你Intent的构造正确。