¿Problema con el servicio usando Aidl?
Pregunta
Aquí está mi Aidl PlayerHandlesService.Aidl:
interface PlayerHandleService {
void changeTextView();
}
The OnCreate () en mi actividad: Player_Activity:
@Override
protected void onCreate(Bundle savedInstanceState) {
this.bindService(new Intent(this,PlayerService.class), mConnection, Context.BIND_AUTO_CREATE);
}
La mconnection:
private ServiceConnection mConnection = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
// TODO Auto-generated method stub
mpInterface=null;
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
// TODO Auto-generated method stub
mpInterface = PlayerHandleService.Stub.asInterface(service);
}
};
Ahora, en mi actividad (Player_Activity), tenga un TextView y quiero usar el método ChangEteTextView () en el AIDL para cambiar el contenido de ese TextView, ¿cómo puedo hacerlo?
Solución
No lo haces. Tu actividad cambia la suya TextView
.
Si su servicio quiere decirle a la actividad que haga algo, puede usar algún tipo de oyente personalizado o una transmisión Intent
, o un Messenger
, o createPendingResult()
, o probablemente otras técnicas también.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow