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?

¿Fue útil?

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
scroll top