По сути, я хочу реализовать сервис, который предоставляет его интерфейс для использования через Android IPC в других приложениях. Затем клиентское приложение должно иметь возможность зарегистрировать Messenger для получения сообщений от службы. Поскольку Messenger является Parcelable, я подумал, что это должно быть так просто:
package com.example;
import android.os.Messenger;
interface MyRemoteService {
void registerMessenger(in Messenger messenger);
}
Однако я получаю сообщение об ошибке couldn't find import for class android.os.Messenger
Я спросил Google и нашел сообщение в блоге от 2010 года, в котором проблема была решена путем изменения platform/android-<#>/framework.aidl
внутри Android SDK, так что каждый разработчик должен изменить этот файл на своей локальной машине что не является жизнеспособным решением для меня.
Могу ли я зарегистрировать Messenger другим способом, который поддерживается в Android 7 API (2.1)?