<template>
	<view class="content"></view>
</template>

<script>
	import {
		onLoad,
		onShow,
		onHide,
		onUnload
	} from '@dcloudio/uni-app'
	import { reactive } from "vue";
	export default {
		setup(){
			let details=reactive({
				activity: null,
				receiver: null,
				intentFilter: null
			})
			onLoad(()=>{
				initScan()
				startScan();
			})
			onHide(()=>{
				stopScan();
			})
			onUnload(()=>{
				details.stopScan();
				uni.$off('scancodedate')
			})
			function initScan() {
				if (plus) {
					details.activity = plus.android.runtimeMainActivity(); //获取activity
					var IntentFilter = plus.android.importClass('android.content.IntentFilter');
					details.intentFilter = new IntentFilter();
					details.intentFilter.addAction('com.android.server.scannerservice.broadcast') // 换你的广播动作
					details.receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {
						onReceive: function(context, intent) {
							console.log("intent", intent)
							plus.android.importClass(intent);
							let content = intent.getStringExtra('scannerdata'); // 换你的广播标签
							uni.$emit('scancodedate', content.replace(/\n/g, ""))
						}
					});
				}
			
			}
			function startScan() {
				details.activity.registerReceiver(details.receiver, details.intentFilter);
			}
			function stopScan() {
				details.activity.unregisterReceiver(details.receiver);
			}
			return {
				startScan,
				stopScan,
				initScan,
			}
		}
	}
</script>

<style>
</style>
