爱奥尼亚Cordova iOS 13陀螺仪/设备定向问题
召唤爱奥尼亚Cordova iOS 13陀螺仪/设备定向问题,cordova,ionic-framework,orientation,device,gyroscope,Cordova,Ionic Framework,Orientation,Device,Gyroscope,召唤 window.addEventListener("deviceorientation", function (event) { console.log(event); }); 如果在调用之前没有获得“DeviceOrientationEvent.requestPermission()”,它将不再工作,这是一个新的w3c实现,但不适用于ionic Cordova(?) 有什么想法吗?我自己回答: 这只是基本的,没有提示iOS对话框允许再次包含权限的句柄。若用户曾决定“不允许”陀螺
window.addEventListener("deviceorientation", function (event) {
console.log(event);
});
如果在调用之前没有获得“DeviceOrientationEvent.requestPermission()”,它将不再工作,这是一个新的w3c实现,但不适用于ionic Cordova(?)
有什么想法吗?我自己回答:
这只是基本的,没有提示iOS对话框允许再次包含权限的句柄。若用户曾决定“不允许”陀螺仪,则无需处理
现在在typescript中,不可能调用JS函数requestPermission(),因此您可以简单地将JS文件包含在
var requestOrientationPermit = function() {
DeviceOrientationEvent.requestPermission();
}
然后在ts文件中
declare var requestOrientationPermit : any;
// ...
// (in some typescript onclick event! call:)
requestOrientationPermit();
// ...
// later...
window.addEventListener("deviceorientation", function (event) {
console.log(event);
}) 你可以试着使用来自爱奥尼亚的屏幕定向插件:hi@maxxx,你能告诉我你是如何包含js文件的吗?这是一个角度项目。将JS代码放在index.html中或包含一个JS文件。但更好的解决方案是在爱奥尼亚上使用本机陀螺仪cordova插件。它不要求您为定向设备授予权限。由于ios 13。。。这就是为什么我要从'@ionic native/陀螺仪/ngx'中搜索fiximport{陀螺仪,陀螺仪方向,陀螺仪选项}。。。私人陀螺仪:陀螺仪。。。this.陀螺仪.getCurrent(选项)。然后((方向:陀螺仪方向)=>{var事件={alpha:orientation.x,beta:orientation.y,gamma:orientation.z,}…在iOS>13中仍然有效陀螺仪似乎可以工作,但DeviceMotion no。