uniapp 原生插件Js层的类怎么接收到Activity控件的监听事件并返回呢?

niapp 原生插件Js层的类怎么接收到Activity控件的监听事件并返回呢?如下图的描述:

img

img

解决了,写了一个接口,弄了一个全局的类,监听全局类的字段,就可以了

//接口
public interface  BroadListener {
    public void onSuccess();
    public void onFail(String msg);
}
//类
public class PlayEndListenner    extends Application {

    private BroadListener broadListener;
    private static PlayEndListenner dataInstance;
    private int isPlayEnd = 0;//是否播放结束

    private PlayEndListenner(){

    }
    public static PlayEndListenner getInstance(){
        if (null == dataInstance){
            dataInstance = new PlayEndListenner();
        }
        return dataInstance;
    }
    public  void  setBroadListener(BroadListener broadListener){
        this.broadListener = broadListener;
    }


    public void setIsPlayEnd(int isPlayEnd) {
        this.isPlayEnd = isPlayEnd;
        if (null != broadListener){
            if (isPlayEnd == 1){
                broadListener.onSuccess();
            }else{
                broadListener.onFail("收到回复失败");
            }
        }
    }

    public int getIsPlayEnd() {
        return isPlayEnd;
    }
}

  //uniapp 调用播放结束
    @UniJSMethod (uiThread = true)
    public void playerEnded( UniJSCallback callback){
        final UniJSCallback callback1 = callback;

        PlayEndListenner.getInstance().setBroadListener(new BroadListener() {
            @Override
            public void onSuccess() {
                System.out.println("播放结束");
                int re = PlayEndListenner.getInstance().getIsPlayEnd();
                PlayEndListenner.getInstance().setIsPlayEnd(0);
                Data.getInstance().setIsPlay(0);//更新状态为 播放
                if(callback1 != null) {
                    JSONObject data = new JSONObject();
                    //data.put("code", "success我是原生返回的:播放是否结束状态");
                    data.put("palyEnd",PlayEndListenner.getInstance().getIsPlayEnd());
                    //callback1.invokeAndKeepAlive(data);
                    callback1.invokeAndKeepAlive(data);
                }
            }

            @Override
            public void onFail(String msg) {

            }
        });

    }

```