UNI-APP uts插件 支持ANDROID 监听手机状态

插件地址 https://ext.dcloud.net.cn/plugin?id=22646 模块

javascript 复制代码
import {
		startPhoneListener,
		stopPhoneListener,
		checkIsAutoRecord,
		toCallAutoRecorderPage,
		navigateToCallRecordingSettings,
		jumpToPermissionPage,
		makePhoneCall,
		allRecorderFilesAction,
		registerSmsReceiver,
	} from '@/uni_modules/yao-lister';

对应的权限不能忘记

javascript 复制代码
async initPhoneStateListener() {
				// 动态申请权限
				const permissions = ["android.permission.READ_PHONE_STATE",
					"android.permission.ANSWER_PHONE_CALLS", "android.permission.CALL_PHONE",
					"android.permission.MANAGE_EXTERNAL_STORAGE",
					"android.permission.READ_EXTERNAL_STORAGE",
					"android.permission.READ_CALL_LOG",
					"android.permission.READ_PHONE_NUMBERS",
					"android.permission.FOREGROUND_SERVICE",
					"android.permission.RECEIVE_SMS",
					"android.permission.READ_SMS"
				]
				const result = await plus.android.requestPermissions(permissions, 1001)

				if (result.granted) {
					startListening()
					// 监听原生事件
					uni.$on('PHONE_STATE_CHANGE', (state) => {
						this.phoneState = state
					})
				}
			}

开启,关闭电话监听

javascript 复制代码
           startListerPhone() {
				startPhoneListener(res => {
					uni.showToast({
						icon: 'success',
						title: '电话监听开启',
						duration: 2000
					});
					this.phoneState = res + "012"
				})
			},
			stopListerPhone() {
				stopPhoneListener(res => {
					uni.showToast({
						icon: 'success',
						title: res,
						duration: 2000
					});
				})
			},

其他的demo里面 可以直接查看

javascript 复制代码
allRecorderFilesAction() {
				const _this = this;
				allRecorderFilesAction(res => {
					console.log("录音文件输入", JSON.stringify(res))
					_this.toggle('bottom');
					_this.Filelist = res
					uni.showToast({
						title: JSON.stringify(res),
						duration: 2000
					})
				})
			},
			jumpToPermissionPage() {
				jumpToPermissionPage()
			},
			navigateToCallRecordingSettings() {
				navigateToCallRecordingSettings()
			},
			toCallAutoRecorderPage() {
				toCallAutoRecorderPage()
			},
			checkIsAutoRecord() {
				let checkRecord = checkIsAutoRecord()
				uni.showToast({
					title: checkRecord ? "已开启电话录音" : "未开启电话录音",
					duration: 2000
				})
			},
相关推荐
工程师老罗6 小时前
如何在Android工程中配置NDK版本
android
万物得其道者成8 小时前
UniApp 多端滑块验证码插件 zxj-slide-verify 实用指南
uni-app
Libraeking9 小时前
破壁行动:在旧项目中丝滑嵌入 Compose(混合开发实战)
android·经验分享·android jetpack
市场部需要一个软件开发岗位10 小时前
JAVA开发常见安全问题:Cookie 中明文存储用户名、密码
android·java·安全
蓝帆傲亦10 小时前
支付宝小程序性能暴增秘籍:UniApp项目极限优化全攻略
小程序·uni-app
JMchen12311 小时前
Android后台服务与网络保活:WorkManager的实战应用
android·java·网络·kotlin·php·android-studio
crmscs12 小时前
剪映永久解锁版/电脑版永久会员VIP/安卓SVIP手机永久版下载
android·智能手机·电脑
localbob12 小时前
杀戮尖塔 v6 MOD整合版(Slay the Spire)安卓+PC端免安装中文版分享 卡牌肉鸽神作!杀戮尖塔中文版,电脑和手机都能玩!杀戮尖塔.exe 杀戮尖塔.apk
android·杀戮尖塔apk·杀戮尖塔exe·游戏分享
机建狂魔12 小时前
手机秒变电影机:Blackmagic Camera + LUT滤镜包的专业级视频解决方案
android·拍照·摄影·lut滤镜·拍摄·摄像·录像
hudawei99612 小时前
flutter和Android动画的对比
android·flutter·动画