Я пытаюсь, чтобы моя служба Android могла просто отправлять изменения обратно в Activity, поэтому я пытаюсь просто использовать параметры, так как ничего не приходит из Activity после запуска службы.
Вот мой файл .aidl:
oneway interface IMyServiceCallback {
void dataChanged(out double[] info);
void pathChanged(out List<ParcelableInfo> info);
}
Я застрял на том, как передать данные из службы, чтобы они были отправлены в Activity.
Так что это в моем Сервисе, но в mCallback нет ничего, что позволило бы мне передать параметры, которые затем будут отправлены обратно в Activity.
private final IMyServiceCallback.Stub mCallback = new IMyServiceCallback.Stub() {
@Override
public void dataChanged(double[] info) throws RemoteException {
}
@Override
public void pathChanged(List<ParcelableInfo> info) throws RemoteException {
}
};
Итак, я не уверен, как позвонить mCallback.dataChanged()
туда, где он пройдет обратно new double[] { 1.0, 1.1};
.
Что касается активности, то я пытаюсь сделать это, поскольку я предполагаю, что передаваемый параметр - это данные, которые я хочу получить от службы.
private IMyServiceCallback mCallback = new IMyServiceCallback.Stub() {
@Override
public void dataChanged(double[] info) throws RemoteException {
mHandler.sendMessage(mHandler.obtainMessage(DATA_MSG, info));
}
@Override
public void pathChanged(
List<Parcelable> info)
throws RemoteException {
mHandler.sendMessage(mHandler.obtainMessage(PATH_MSG, info));
}
};
Я также использую ключевое слово oneway
, поскольку все коммуникации перенаправляются с Сервиса на Активность.