这是我的AIDL PlayerHandleService.AIDL:

interface PlayerHandleService {
    void changeTextView();
}

我的活动中的onCreate():player_activity:

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

麦克索恩:

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

现在,在我的活动(player_activity)上有一个文本视图,我想在aidl中使用method changetextview()来更改该文本视图的内容,我该怎么做?

有帮助吗?

解决方案

你没有。您的活动改变了自己的 TextView.

如果您的服务想告诉活动做某事,则可以使用某种自定义侦听器或广播 Intent, ,或 Messenger, , 或者 createPendingResult(), ,或者可能还有其他技术。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top