Question

Voici mon AIDL PlayerHandleService.aidl:

interface PlayerHandleService {
    void changeTextView();
}

Le oncreate () sur mon activité: Player_Activity:

@Override
protected void onCreate(Bundle savedInstanceState) {
    this.bindService(new Intent(this,PlayerService.class), mConnection, Context.BIND_AUTO_CREATE);
}

Le 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);
    }
};

Maintenant, sur mon activité (Player_Activity) ont un TextView et je veux méthode d'utilisation changeTextView () dans le AIDL de modifier le contenu de ce TextView, comment je peux le faire?

Était-ce utile?

La solution

Vous ne le faites pas. Votre activité change propre TextView.

Si votre service veut dire l'activité de faire quelque chose, vous pouvez utiliser une sorte d'auditeur personnalisé ou un Intent de diffusion, ou un Messenger, ou createPendingResult(), ou probablement d'autres techniques aussi bien.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top