我正在尝试为我的三星 Gear S3 前沿在 tizen 中创建一个网络应用程序。但是,我收到“权限被拒绝”安全错误。
我有:
<tizen:privilege name="http://developer.samsung.com/privilege/healthinfo"/>
和
<tizen:privilege name="http://tizen.org/privilege/healthinfo"/>
在我的 config.xml 中启用。
如果我在设置中启用应用程序的传感器权限,我可以获得心率读数,但每次我编译和上传新版本时它都会重置,这相当乏味。
这是我的 JS 代码,类似于从 GEAR S3 心率监视器 (HRM) 检索数据到移动设备或服务器:
window.onload = function () {
// add eventListener for tizenhwkey
document.addEventListener('tizenhwkey', function(e) {
if(e.keyName === "back") {
try {
tizen.application.getCurrentApplication().exit();
} catch (ignore) {
}
}
});
// Sample code
var textbox = document.querySelector('.contents');
var box = document.querySelector('#textbox');
textbox.addEventListener("click", function(){
console.log('have box');
if (fetch === undefined) {
box.innerHTML = 'No such thing as fetch';
} else {
box.innerHTML = "We have fetch";
}
});
var sensors = tizen.sensorservice.getAvailableSensors();
console.log('Available sensors: ' + sensors.toString());
var heartRateData=0;
function onsuccessCB(hrmInfo) {
box.innerHTML = 'Heart rate: ' + hrmInfo.heartRate;
heartRateData = hrmInfo.heartRate;
// holding 15 seconds as HRM sensor needs some time
}
function onerrorCB(error) {
tizen.humanactivitymonitor.stop('HRM');
console.log('Error occurred: ' + error.message);
}
function onchangedCB(hrmInfo) {
//alert("onChanged...");
tizen.humanactivitymonitor.getHumanActivityData('HRM', onsuccessCB, onerrorCB);
}
tizen.humanactivitymonitor.start('HRM', onchangedCB);
};
我希望config.xml
设置能够处理权限,但显然它没有。手表运行的是 Tizen 4.0.0.2,它带有一个“HRM_RAW”传感器,如果没有手动设置权限,我也无法访问它。
我该如何解决这个问题?