1

Android에서 라이브 벽지를 만들려고합니다. 나는 SettingsActivity 라이브 배경 화면에 값을 설정하기 위해 MyWallpaperService와 통신 할 필요가WallpaperService의 하위 클래스가있는 IPC

public class SettingsActivity extends Activity { 
} 

: 나는 하나 개의 클래스

public class MyWallpaperService extends WallpaperService { 
} 

그리고 annother 클래스가 있습니다. 나는 이전에 aidl을 사용했고이 상황에 적용하려고했습니다. 그러나 그것은 WallpaperService는 다음과 같은 방법이있다처럼 보인다 :

/** 
* Implement to return the implementation of the internal accessibility 
* service interface. Subclasses should not override. 
*/ 
@Override 
public final IBinder onBind(Intent intent) { 
    return new IWallpaperServiceWrapper(this); 
} 

그러므로 내가 인해 슈퍼 클래스, WallpaperService의, onBind 방법에 대한 최종 선언에 내 서비스의 onBind 방법에 내 자신의 사용자 정의 AIDL 정의 바인더를 반환 할 수 없습니다. 나에게 이것은 안드로이드 플랫폼 개발 팀의 감독처럼 보인다. 라이브 벽지에서 가능한 모든 프로세스 간 통신 기능을 효과적으로 제거합니까?

내 옵션에는 어떤 것들이 있습니까? 저는 Activity와 Service를 동일한 프로세스에 넣을 수 있고 Activity가 서비스의 전역 변수를 설정하도록 할 수 있습니다. 그러나 그것은 지저분 해지기 쉽고 바로이 작업을하고 싶습니다. 서비스의 브로드 캐스트 수신기를 여기에 오른쪽으로 추가하고 있습니까?

답변