У вас уже есть getService (), который MainActivity может вызывать, верно?Хорошо.Вы должны создать новый интерфейс в классе Service, который будет выполнять функцию обратного вызова:
class accelService extends Service {
interface myCallback {
void onCalled(int parameter);
}
}
Затем в вашем LocalBinder вы добавите новый метод и переменную:
class LocalBinder extends Binder {
private myCallback mListener = null;
accelService getService() {....} //<!-- the one you already have
void addListener(myCallback listener) { //<!-- the new one that sets the listener/callback
myCallback = listener;
}
}
В этот момент из вашей MainActivity вы можете позвонить:
binder.addListener(new myCallback(){
Toast.makeText(context, "Test", Toast.LONG).show()
});
, как вы это делаете с "getService ()".
Наконец, вам нужно куда-нибудь позвонить
mBinder.onCalled(123456789)
в Сервисе выполнить процедуру Toast ... show ().Таким образом, вы можете передавать переменные из Service в MainActivity, пока эта последняя привязана к Service.