Javascript 使用PIN码锁定PhoneGap Android应用程序
我正在使用它来构建一个应用程序。我希望它在以下情况下使用PIN码(它必须是应用程序内锁,与本机安卓锁分开)锁定自身:Javascript 使用PIN码锁定PhoneGap Android应用程序,javascript,android,jquery,cordova,privacy,Javascript,Android,Jquery,Cordova,Privacy,我正在使用它来构建一个应用程序。我希望它在以下情况下使用PIN码(它必须是应用程序内锁,与本机安卓锁分开)锁定自身: 在没有用户输入的情况下,经过了一定的时间 用户导航离开应用程序,例如,如果应用程序被最小化,或者如果手机在屏幕关闭的情况下放置一段时间 问题: 我假设手机超时并关闭屏幕会触发,但它真的是这样工作的吗 是否可以在手机“暂停”时运行setInterval()功能,以便与服务器确认推送?我只对Android感兴趣,我知道iOS有一些怪癖 最后,实现PIN锁的最佳方式是什么?覆盖当
- 在没有用户输入的情况下,经过了一定的时间
- 用户导航离开应用程序,例如,如果应用程序被最小化,或者如果手机在屏幕关闭的情况下放置一段时间
- 我假设手机超时并关闭屏幕会触发,但它真的是这样工作的吗
- 是否可以在手机“暂停”时运行
功能,以便与服务器确认推送?我只对Android感兴趣,我知道iOS有一些怪癖setInterval()
- 最后,实现PIN锁的最佳方式是什么?覆盖当前界面或将应用重定向到“锁定页面”,同时记住原始页面或其他内容
document.addEventListener("pause", onPause, false);
function onPause() { // Handle the pause event
setInterval( function() {
Ext.data.JsonP.request({
url: 'http://convert4mobile.net/backend/API/qr/push.php',
callbackKey: 'callback',
success: function(data)
{
if(data.success == true)
{
if (typeof plugins !== "undefined") {
window.plugins.localNotification.add({
date : new Date(),
message : data.time+"\r\n"+data.msg,
ticker : "A new code was generated",
repeatDaily : false,
id : 4
});
}
}
}
});
} , 2000);
}
3) 如果它只是一个屏幕,不输入正确的pin就不能让用户与应用程序交互,那么它应该是一个覆盖。您也可以使用saperate屏幕,但使用带有消息的模式覆盖,在禁用后退按钮的同时输入pin就足够了。因此,在重定向时,您不会陷入页面中。我没有任何代码示例,但我可以讨论一个理论实现 我会在应用程序打开时亲自实现锁定屏幕。为了保持应用程序是基于PIN的应用程序的一致性(我知道措辞很糟糕)。因此,当应用程序首次打开时,它应该询问pin码 在实现重定向时,我会使用Back方法向后退(DevExtreme有一个默认的Back方法,我不确定phonegap是否有) 尝试访问back方法(如果失败)。继续前进 使用try/catch实现这一点,尝试返回,如果它出错,则假定它出错,因为没有返回的位置。进入主屏幕 执行onPause方法,在设备暂停后移动到锁定屏幕 如果您没有默认的back方法,这里有一个使用伪代码实现的模型 为了创建模型,我们将劫持导航方法,或者更好的是,我们将重新创建导航方法,但仍然使用现有的方法
define backstring = ""
function NavigateTo(string navigateto)
backstring = currentnavigationscreen
this.Navigate(navigateto)
end
此方法设置backstring的值并导航到下一个屏幕
function GoBack()
NavigateTo(backstring)
end
这就是onpause方法的外观
function onPause()
NavigateTo("lockscreen")
end
我当然希望这会有所帮助
除了在back函数上执行try-and-catch外,还可以创建一个CanBack()方法
引述
根据应用程序的屏幕流量,您可能还需要禁用 后退按钮功能可防止用户“逃离”您的 锁定模式–加西亚·胡塔多 这是一个很好的观点,但是如果您坚持使用我给出的伪代码,并且不将其连接到back button机制,您将很好。只要确保在导航到密码屏幕时,将其视为根用户
您还可以创建一个覆盖,只需维护一个决定是否显示它的布尔值。默认值可能为true,因此每次打开应用程序时,您都必须输入密码。您可以使用onpause函数将布尔值设置为false,以通知应用程序需要再次锁定。1。是的,或者他们回来的时候。2.是,取决于应用程序的启动模式。3.使用模式对话框。根据应用程序的屏幕流程,您可能还需要禁用“后退”按钮功能,以防止用户“逃离”您的锁定模式。我最近使用DevXPress开发了一个应用程序,遇到了相同的问题,因此我已经整理了大部分详细信息。请随时询问您在实施过程中是否需要任何帮助。嗨,科迪。我需要通过PIN锁定我的应用程序。应用程序在sencha touch中。如果你能帮助我,那就太好了。请指导我从哪里开始实现它?我只是想知道锁屏是否只是一个html5覆盖层,这是否意味着如果设备是根设备并从源代码中提取的,它可以很容易地删除,或者如果它是用本机Java编写的,它会不会没有区别?
function CanBack()
return (backstring.length > 0)
end