uniapp经验记录

351 阅读1分钟

1. 双屏交互通讯

外屏应用展示 在外屏应用项目manifest.json android打包配置权限配置 <uses-permission android:name="android.permission.SECOND_DISPLAY"/>

  • 安卓广播通讯

可以进行跨app进行相互通讯,只需要传递对应包名做通讯标识就行

// 内屏发送广播
sendInfo(sendData) {
    const isApp = plus.runtime.isApplicationExist({
	pname: 'uni.waiPing' // 发送应用包名
    })
    if(isApp) {} else {
        uni.showToast({title: '外屏应用未安装'})
    }
    // 发送广播
    var Intent = plus.android.importClass("android.content.Intent")
    var intent = new Intent("uni.waiPing");	// 要给发送广播应用的包名
    var main = plus.android.runtimeMainActivity(); // //获取activity
    intent.putExtra("wData", JSON.stringify(sendData));
    main.sendBroadcast(intent);
}

// 外屏接收广播
receiveInfo() {
    var main = plus.android.runtimeMainActivity(); 
    receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver',{
        onReceive: function (context, intent) {
            const data = intent.getStringExtra("wData")
        }    
     })
     var IntentFilter = plus.android.importClass('android.content.IntentFilter');
     var filter = new IntentFilter(); //过滤
     filter.addAction("uni.neiPing");
     main.registerReceiver(receiver, filter); //注册监听
}
  • websock通讯

常规通讯手段借助uni.connectSocket基本封装下就行。

2. 生成二维码

后面慢慢写,补充!!