Cordova - 检查App是否刚刚启动

时间:2014-11-05 13:52:11

标签: javascript cordova javascript-events

我有一个基于cordova的应用程序,可在Android,iOS和Windows Phone上运行。我的应用程序的起点是index.html页面,它不仅会在应用程序启动时加载,而且可以从应用程序内部重定向到它。

我想执行一些代码,当且仅当应用程序刚刚启动时(所以当index.html第一次显示时),而不是重定向到它。我试图使用在会话结束时过期的cookie,但是cordova不能与cookie一起使用。

另外我不想使用会话存储,因为一些旧的Androids(以及Internet Explorer)无法处理这个问题。

我用过的cordova版本是4.0.0

修改

我忘了提到它不是单页应用程序,但我使用了多个可以访问的页面,因此deviceready-event不起作用,因为每次访问index.html时都会触发它页

2 个答案:

答案 0 :(得分:1)

尝试这样的smth:

function documentReady() {
   document.addEventListener("deviceready", handleDeviceReady, false);
}
 
function handleDeviceReady(event) {
   //cordova api is ready for use
   if (!localStorage.getItem('alreadyStarted')) {
       // App just started!
       localStorage.setItem('alreadyStarted', true);
   }
}

UPD。您还需要在首次启动时设置标记(即会话中的alreadyStarted = true或LocalStorage)并稍后在handleDeviceReady()中进行检查。

答案 1 :(得分:0)

在第一次运行时写入数据库。每次应用启动时,请检查数据库以查看该字符串是否存在。如果是这样,请忽略。否则,创建并编写。