android:无法启动服务异常?

时间:2011-04-27 10:45:33

标签: android service connect

我的活动位于“com.android.task”中,服务和相关文件位于“com.android.task.utilities.service”中。在我的活动中,我使用这种方法调用我的服务:

    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的连接

我看过有关同样的问题,我发现他们的答案已经由我实施或不适用于我的案例。

UPDATE:为什么我仍然“无法启动服务Intent {..}未找到??? aidl的java文件也是在gen文件夹中生成的。我也是如图所示在这里:http://developer.android.com/guide/developing/tools/aidl.html 除了SErviceConnection类之外,其他所有内容都按照所示进行处理,如图所示;我仍然得到同样的错误。我尝试使用startService()启动它,然后启动服务。但是使用bindService,它不起作用 - 只是找不到消息。这背后的原因是什么?

任何帮助热线!!!!!!请现在急需它。花了一天多时间搞清楚,但没有成功。

知道为什么会出现这个错误以及如何解决它。任何帮助都非常感谢。

由于

1 个答案:

答案 0 :(得分:1)

在onPause()或其他在您的活动环境中有意义的地方取消绑定您的服务。

unbindService(tunManagerServiceConnection);