采用phonegap开发的WebApp,如果用户点击退出按钮,则App会直接退出。
下面的代码可以响应后退按钮,并提示用户再次点击才退出。
如果3秒后没有点击则重新注册事件。
注意:window.plugins.ToastPlugin.show_short()是显示toast消息的插件!
代码:
// 等待加载PhoneGap
document.addEventListener("deviceready", onDeviceReady, false)
// PhoneGap加载完毕
function onDeviceReady() {
//按钮事件
document.addEventListener("backbutton", eventBackButton, false)//返回键
document.addEventListener("menubutton", eventMenuButton, false)//菜单键
document.addEventListener("searchbutton", eventSearchButton, false)//搜索键
}
//返回键
function eventBackButton(){
//confirm("再点击一次退出!")
window.plugins.ToastPlugin.show_short('再点击一次退出!')
document.removeEventListener("backbutton", eventBackButton, false)//注销返回键
//3秒后重新注册
var intervalID = window.setInterval(
function() {
window.clearInterval(intervalID)
document.addEventListener("backbutton", eventBackButton, false)//返回键
},
3000
)
}
//菜单键
function eventMenuButton(){
window.plugins.ToastPlugin.show_short('点击了 菜单 按钮!')
}
//搜索键
function eventSearchButton(){
window.plugins.ToastPlugin.show_short('点击了 搜索 按钮!')
}
转载
1.MainActivity.java//添加自身Activity到集合,每个activity都要添加
PublicWay.activityList.add(this)
Button exit=(Button)findViewById(R.id.exit)
//退出程序事件
exit.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//遍历Activity集合,关闭所有集合内的Activity
for(int i=0i<PublicWay.activityList.size()i++){
if (null != PublicWay.activityList.get(i)) {
PublicWay.activityList.get(i).finish()
}
}
}
})
2.PublicWay.java
public class PublicWay {
//存放所有的Activity
public static List<Activity>activityList = new ArrayList<Activity>()
}
此方法可以关闭所有Activity,即实现退出程序
alert.setButton(DialogInterface.BUTTON_NEGATIVE, "取消",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
}
})
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)