2016-09-16 11 views
0

내 앱에 활동에 바인딩 된 서비스가 있습니다. 그러나이 서비스는 다른 프로세스에 있으며이 인스턴스에서 해당 인스턴스를 가져 오는 방법을 알 수 없습니다. 동일한 프로세스에서 서비스를 위해 나는 내가 어떻게 내 경우에는이 작업을 수행하는 단서가 없다Android AIDL : 서비스가 다른 프로세스에있을 때 활동의 서비스 인스턴스를 얻는 방법?

public class Binder extends Binder { 
     public Service getService() { 
      return Service.this; 
     } 
    } 

을 내 Service 클래스에서 그것을 onServiceConnected

public void onServiceConnected(ComponentName name, IBinder service) { 
    Service.Binder binder = (MService.Binder) binder; 
    //get service 
    musicSrv = binder.getService(); 

안쪽이

그런 짓을. 나는 그러한 예를 온라인으로 찾을 수 없었다. 누군가 나를 도울 수 있습니까? 감사 !!!

답변

2

수 없습니다! 그것은 불가능합니다. 사실 그것은 "다른 프로세스에서"의 정의입니다. 즉, 인스턴스가 서로 직접 액세스 할 수 없음을 의미합니다.

그러나 AIDL을 사용하여 프로세스 간 통신을 정의 할 수 있습니다. 그것을 구현하는 방법에 대한 AIDL 가이드를 확인하십시오.

https://developer.android.com/guide/components/aidl.html