原谅我,这让我疯了,我会尝试通过我的愤怒发布一些易读的东西.
我在这里看到了几个关于如何检查屏幕是否被锁定的帖子,但没有一个对我有效.它都会检测实际屏幕是否关闭(如果它已锁定).
我有一个音乐播放的游戏.按下锁定按钮后,它将继续播放.我最初在OnStop上停止了音乐,但应用程序会在锁定后重新启动,因此音乐最终会再次启动.
然后,我在清单中添加了KeyboardHidden | orientation.这使得它不会重新启动应用程序,但OnStop似乎不再被调用.
我已经尝试使用PowerManager查看屏幕是否打开/关闭,这有效,但没有帮助.(我可以让音乐停在那里,但只要再次按下锁定按钮,音乐就会立即启动)
我试图在web worker中移动navigator.geolocation的代码.
我尝试使用Chrome和Safari,但是"未定义"
var isGPSSupported = navigator.geolocation;
沮丧......他们在规范中说网络工作者应该支持'navigator'对象......
我的代码如下:
index.js
var gpsWorker = new Worker("app/gpsworker.js");
gpsWorker.onmessage = function (e) {
alert(e.data);
};
gpsWorker.postMessage("Start GPS!");
gpsWorker.onerror = function (e) {
alert("Error in file: " + e.filename + "\nline: " + e.lineno + "\nDescription: " + e.message);
};
Run Code Online (Sandbox Code Playgroud)
gpsworker.js
self.onmessage = function (e) {
initGeoLoc();
}
function initGeoLoc() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
self.postMessage("Got position!");
});
} else {
self.postMessage("GPS is not supported on this platform.");
}
}
Run Code Online (Sandbox Code Playgroud)
任何有关错误的提示都将不胜感激.