2013-04-29 3 views
1

Я пытаюсь передать объект List<Address> с удаленной службы, и я не могу понять, почему это происходит, но когда я пытаюсь установить import android.location.Address в свой файл Android AIDL, мои приветственные огни IDE (Eclipse) импорт как ошибка. Это странно, потому что Address реализует интерфейс Parcelable (а также делает android.location.Location, который не получает привет в качестве ошибки), поэтому я не ожидал бы никаких проблем при этом. Любые идеи, что происходит?android.location.Address не распознан AIDL?

Платформа Android, над которой я работаю, - 4.2.2 Jelly Bean.

ответ

3

Хотя android.location.Address реализует интерфейс Parcelable, он, кажется, не объявлен как parcelable в sdk/platforms/android-<api-level>/framework.aidl. В качестве временного решения можно либо добавить строку:

parcelable android.location.Address; 

в файл framework.aidl для соответствующего уровня API (17 в случае 4.2.2 Jellybean).

Другой подход, который я предпочитаю над модификацией файла framework.aidl непосредственно, чтобы добавить файл AIDL интерфейс, содержащий parcelable декларацию вашего проекта в src/android/location/Address.aidl содержащий:

package android.location; 
parcelable Address; 

Почему android.location.Address не объявлен как parcelable в framework.aidl в первую очередь я не знаю.