2011-10-03 7 views
3

소포 및 AIDL에 대한 Android 개발자 사이트를 읽었지만 여전히 질문이 있습니다. Parcelable 객체가 AIDL 인터페이스 메소드에서 반환 될 수 있지만 AIDL 메소드에 매개 변수로 전달되지 않는 이유는 무엇입니까? AIDL 인터페이스 메소드가 원시 데이터 유형 (안드로이드 개발자 웹 사이트에 명시된대로)을 원하지만 Uri 객체를 매개 변수로 전달할 수 있다는 것을 알고 있습니다. 그렇다면 Parcelable 객체를 전달할 수없는 이유는 무엇입니까?AIDL 소포 사용

+1

귀하의 마지막 세 문장은 모두에게 "이"을 참조, 그리고 당신이 "이"무슨 생각 불분명하다. – CommonsWare

답변

3

AIDL을 사용하여 분할 가능 오브젝트를 전달할 수 있습니다. "IPC 인터페이스를 통해 하나의 프로세스에서 다른 프로세스로 보낼 클래스가 있다면 그렇게 할 수 있습니다. 그러나 클래스의 코드를 IPC의 다른 쪽에서 사용할 수 있는지 확인해야합니다 채널 및 클래스가 Parcelable 인터페이스를 지원해야합니다. " ("감사합니다"를 계산하지 않음)

http://developer.android.com/guide/components/aidl.html#PassingObjects

+1

예 읽었습니다. 그러나 매개 변수로 Parcelable 개체를 사용하려고하면 AIDL 파일이 throw되고 오류가 발생합니다. 플립 측면에서 인터페이스 함수에 대한 반환 유형으로 사용하는 데 문제가 없습니다. 내가 다른 곳에서 읽은 것에서는 매개 변수로 사용할 수 없습니다. – jjNford

+0

오류를 게시 할 수 있습니까? – satur9nine

+0

지금 당장은 사용하지 않고 앞으로 나아 갔지만 나중에 나중에 다시 올 수도 있습니다. 따라서 나는 더 이상 코드를 가지고 있지 않지만이 오류로 돌아 왔을 때 나는 오류를 게시 할 것입니다. – jjNford