greenPro/platforms/app-plus/proximity/proximity.vue

70 lines
1.7 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view>
<page-head :title="title"></page-head>
<view class="uni-padding-wrap uni-common-mt">
<view class="uni-hello-text">
手机顶部听筒处有传感器监听距离手机屏幕的障碍物覆盖该传感器会触发本事件变化
</view>
<view class="uni-btn-v uni-common-mt">
<button type="primary" @tap="getProximity">获取距离传感器信息</button>
<button type="primary" @tap="watchProximity">监听距离传感器变化</button>
<button type="primary" @tap="watchStop">停止监听</button>
</view>
<view class="uni-textarea uni-common-mt">
<textarea :value="value" />
</view>
</view>
</view>
</template>
<script>
var id = null
var bright = null
export default {
data() {
return {
title: 'proximity',
value: ''
}
},
methods: {
getProximity: function () {
var that = this;
plus.proximity.getCurrentProximity(function (d) {
that.value = "距离为:" + d;
}, function (e) {
that.value = "获取失败:" + e.message;
});
},
watchProximity: function () {
var that = this;
if (id) {
return;
}
bright = plus.screen.getBrightness();
id = plus.proximity.watchProximity(function (d) {
that.value = "距离变化:" + d;
plus.screen.setBrightness((d < 1) ? 0.01 : bright);
}, function (e) {
plus.proximity.clearWatch(id);
id = null;
that.value = "监听失败:" + e.message;
});
},
watchStop: function () {
var that = this;
if (id) {
that.value = "停止监听设备距离传感器信息";
plus.proximity.clearWatch(id);
id = null;
} else {
that.value = "没有监听设备距离传感器";
}
}
}
}
</script>
<style>
</style>