2011-04-27 108 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