2013-02-03 167 views
3

我正在库项目中使用服务。 当我开始服务时(使用context.startService(service)),服务的onStart()从未到达。我做错了什么,我有一些问题:图书馆项目中的服务

  1. 在哪个清单文件中,我应该声明服务(库项目或APK项目)?

  2. 它与远程服务和AIDL有任何连接吗?我不太确定,但我发现这个答案Android service in library 似乎有线,我必须在同一个应用程序,我没有任何相互过程通信(IPC)创建AIDL。

  3. 我试图在我的APK项目中扩展库服务,并在APK的清单文件中声明它 - 但仍然没有达到服务的onStart()。

谢谢。

+0

你是否在logcat中出现任何错误? –

+0

否 - Logcat不包含任何错误。 – micyunu

+0

发布您用来启动服务的代码。 –

回答

-2

onStart()方法,所以在Android 2.0 API级别5被废弃或更高版本onStart()就不叫,你需要实现onStartCommand(Intent, int, int)代替..

更新:AS @大卫瓦瑟指出我的愚蠢的错误..你可以检查你是不是覆盖onStartCommand()方法,或者如果你重载onStartCommand(),那么你是从它调用super.onStartCommand()..请给我们看一些代码...

+0

仍然 - 从不打OnStartCommand。 – micyunu

+1

这个答案显然是错误的。 'onStart()'已被弃用,但它仍然存在,仍然有效。 'onStartCommand()'的文档具体指出:**“为了向后兼容,默认实现调用onStart(Intent,int)'”** –

+1

您可以发布您的服务代码和您用来调用服务... –