Android 是否可以将服务放入子包中?

Android 是否可以将服务放入子包中?,android,android-manifest,Android,Android Manifest,只有当MyService.java在一个包中,如 com.test.app com.test.app.services.MyService ,但不是像 com.test.app com.test.app.services.MyService 在舱单上我试着用 <service android:name=".services.MyService" /> 或完全合格 <service android:name="com.test.app.services.MyServ

只有当MyService.java在一个包中,如

com.test.app
com.test.app.services.MyService
,但不是像

com.test.app
com.test.app.services.MyService
在舱单上我试着用

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

或完全合格

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

但这两种方法都不起作用。我正在使用子包来优化我的文件结构。所以,我真的可以不把我的服务文件放在一个子包中,或者我在这里遗漏了什么吗

(我正在使用Android团队提供的扩展下载程序库。这涉及到实现一个简单的服务。)

是。


我已经做过很多次了。很可能还有别的事情发生。我要检查的第一件事是确保您的
意图
构造正确。

是的,您可以将其放在任何名称空间中

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

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

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

您应该可以很好地完成。你的服务如何“不起作用”?你是如何开始你的服务的?我正在按描述对DownloaderService进行子类化,所以我自己不会开始服务…我正在按描述对DownloaderService进行子类化,所以我不会自己开始服务…@直到这是你的问题。仅仅因为您对另一项服务进行了子分类,并不意味着它会在
DownloaderService
启动时神奇地启动。由于各种原因,这将是不好的。你需要自己启动你的
服务
。不,它是由下载库(用于扩展文件)启动的,但前提是它位于清单
package=“com.test.app”
@中声明的主包中,直到看到下面@kabuko给出的答案。该类隐藏了
意图的构造,但这是这里的关键。这很奇怪。我正在提供我的定制服务类,正如我所说的,它都在运行(包括从Google Play服务器下载的测试),但只有当服务在主包中时…@直到我遇到完全相同的问题。你解决了吗?@v0id如果我没记错的话,我实际上把它放在了主程序包中。。。