2011-04-27 110 views
0

我的活动位于“com.android.task”,服务和相关文件位于“com.android.task.utilities.service”。在我的活动,我打电话给我的服务用这种方法:android:无法启动服务异常?

private void bindTunManagerService(int flags) { 
    TunnelManagerService.setParentActivity(this); 
    if (tunManagerServiceConnection==null) { 
     tunManagerServiceConnection = new TunnelManagerServiceConnection(); 
     Intent i = new Intent(); 
     i.setClassName("com.android.task.utilities.service", "com.android.task.utilities.service.TunnelManagerService"); 
     //Log.d(TAG, "startService()"); 
     //startService(i); 
     tunManagerServiceStarted = bindService(i, tunManagerServiceConnection, flags); // LINE NO 575 
     Log.d(TAG, "bindService()"); 
    } else { 
     Toast.makeText(this, "Cannot bind - service already bound", Toast.LENGTH_SHORT).show(); 
    } 
} 

     // CALL TO THE METHOD 
bindTunManagerService(Context.BIND_AUTO_CREATE); 

在我的清单文件,我说:

<service android:name=".utilities.service.TunnelManagerService"></service> 

我得到异常:

04-27 15:44:39.143: WARN/ActivityManager(60): Unable to start service Intent { cmp=com.android.task.utilities.service/.TunnelManagerService }: not found 

04-27 15: 44:39.152:DEBUG/MyActivity:(517):bindService()

而关闭活动时,我得到异常:

Activity .... has leaked ServiceConnection com.android.task.MyActivity$TunnelManagerServiceConnection that was originally bound here 

..... bindTunManagerService(575线) ...... 04-27 15:45:14.532:WARN/ActivityManager(60):解除绑定失败:无法找到Android的连接.os.BinderProxy @ 4074f160

我看了一下关于相同的问题,我发现他们的答案已经由我执行或者不适用于我的情况。

更新:为什么我仍然得到“无法启动服务意向{..}没有找到???的AIDL在根文件夹中也产生了Java文件我也obeted如下所示:http://developer.android.com/guide/developing/tools/aidl.html 除了SErviceConnection类外,其他所有的东西都被处理,除了SErviceConnection类,它也如图所示;我仍然得到相同的错误,我试着用startService()来启动它,并且服务启动了,但是bindService不起作用 - 发现的消息。背后的原因是什么?

任何求助热线!!!!!!请现在需要它很糟糕,花了一天多的时间搞清楚,但没有成功

任何想法为什么这个错误以及如何解决它。任何帮助,高度赞赏。

感谢

回答

1

取消绑定在你的onPause服务()或其他一些地方是有道理的在你的活动环境。

unbindService(tunManagerServiceConnection); 
+0

谢谢,但所有的错误仍然存​​在。绑定不成功。我给了解绑,但在销毁应用程序,我得到“活动已泄漏窗口...” – Tvd 2011-04-27 13:21:56

+0

谢谢,活动已泄漏SErviceConnection已经消失。绑定尚未成功。我放弃了。我从AsyncTask对象的doInBackground方法中调用bindTunManagerService,可以成为任何的原因吗? – Tvd 2011-04-27 13:27:55

+0

第一次,我调用绑定,我得到“无法绑定...找不到”,然后我解绑,并且我得到消息“解除绑定失败:找不到[email protected]的连接”。我再次调用绑定,并从bindTunManagerService获得“无法绑定 - 服务已绑定”,即Toast,&,我得到IllegalArgumentException:SErvice未注册... – Tvd 2011-04-27 13:41:04