Не удается передать тип Object [] в качестве параметра для метода в Android AIDL

#java #android #android-service

#java #Android #android-сервис

Вопрос:

Вот код:

 package android.os;

import android.content.Intent;

interface IInterpreterService {
    int notifyChange(String rule_name, Object[] data);
    void getMonitor(in Intent intent);
}
  

Странная ошибка:

 Aidl: framework <= frameworks/base/core/java/android/os/IInterpreterService.aidl
frameworks/base/core/java/android/os/IInterpreterService.aidl:7 parameter data (2) unknown type Object
  

Ответ №1:

AIDL поддерживает только ограниченный набор типов, и Object не является одним из них. В спецификациях также упоминается Parcelable как компонент в списке. Для этого вам нужно будет определить свой тип в отдельном AIDL. Подробности можно найти здесь http://developer.android.com/guide/developing/tools/aidl.html