Problem mit dem Service mit AIDL?
Frage
Hier ist mein Aidl PlayerHandleService.aidl:
interface PlayerHandleService {
void changeTextView();
}
Die OnCreate () auf meine Aktivität: Player_Activity:
@Override
protected void onCreate(Bundle savedInstanceState) {
this.bindService(new Intent(this,PlayerService.class), mConnection, Context.BIND_AUTO_CREATE);
}
Die 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);
}
};
Jetzt haben Sie in meiner Aktivität (Player_Activity) eine Textansicht und ich möchte Methoden -ChangEtextView () in der AIDL verwenden, um den Inhalt dieser Textansicht zu ändern, wie kann ich das tun?
Lösung
Du nicht. Ihre Aktivität verändert seine eigene TextView
.
Wenn Ihr Dienst die Aktivität mitteilt, dass Sie etwas tun sollen, können Sie einen benutzerdefinierten Listener oder eine Sendung verwenden Intent
, oder ein Messenger
, oder createPendingResult()
, oder wahrscheinlich auch andere Techniken.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow