Вопрос

Я хотел бы объявить асинхронный сервисный API в AIDL, используя Resultreceiver вместо создания моего собственного интерфейса обратного вызова.

Но когда я пытаюсь импортировать Android.os.ResulTreceiver, он не знает, что Результрис -Айвель может посыпать. Есть хитрость?

Пример:

import android.os.ResultReceiver;

interface IPrimeService {
    int computePrimes(in int number, in ResultReceiver resultReceiver);
}

Приводит к (Android 2.2):

IPrimeService.aidl:3: couldn't find import for class android.os.ResultReceiver

Похоже, если я создаю resultreceiver.aidl в SRC/Android/OS в моем проекте, например:

package android.os;

parcelable ResultReceiver;

Это работает, но это похоже на такой взлом. Есть ли способ лучше?

Спасибо, Эрик

Это было полезно?

Решение

Я столкнулся с аналогичной проблемой .. Я отредактировал/pplatform/android-<#>/framework.aidl, чтобы включить строку

Parcable Android.os.ResulTreceiver;

И тогда это работает

Кредит: http://amdroid.ampache.org/?p=38

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top