android -如何让不让AlertDialog dismissed by google search
来源:互联网 发布:反重力技术 知乎 编辑:程序博客网 时间:2024/05/19 17:50
使用alertdialog作为登录窗口,验证通过后dialog dismissed。为了避免dialog的非常规dismiss,可通过设置builder的cancelable值为false:builder.setCancelable(false),来防止通过back键直接cancel dialog。
然而,google search 键也可以导致dialog dismiss,虽然大多real device没有这个键,但还是预防为好。
方法1:抢先截断
loginDialog.setOnKeyListener(new OnKeyListener(){
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if(event.getKeyCode() == KeyEvent.KEYCODE_SEARCH)// Search键
{
return true;//True if the listener has consumed the event, false otherwise. 如果true,说明此事件已被处理,将不会冒泡提交OnDismissListener ,这时将不会看到google search 界面
----------------------------------------------------------------
//return false; 如果是这样,如果注册的有OnDismissListener ,可以看到onDismiss事件会被触发
}
return false;
}
});
方法2:亡羊补牢
loginDialog.setOnDismissListener(new OnDismissListener(){
@Override
public void onDismiss(DialogInterface dialog) {
if(authenticate())
loginDialog.dismiss();
loginDialog.show();
}
}
);
方法3:防止通过其他方法cancel dialog
//此事件执行,则onDismiss事件也会执行
loginDialog.setOnCancelListener(new OnCancelListener(){
@Override
public void onCancel(DialogInterface arg0) {
if(authenticate())
loginDialog.dismiss();
loginDialog.show();
}
});
还有一种方法:使用反射的方法,请参考http://blog.csdn.net/nokiaguy/archive/2010/07/27/5770263.aspx
- android -如何让不让AlertDialog dismissed by google search
- Android:为什么现在google不让结束整个程序,只让结束单个Activity
- Android 如何去除Launcher上默认的google search bar?
- 不使用setPositiveButton 如何让alertdialog消失
- 如何让AD有效果且不让管理员删除?
- Android让AlertDialog点击确定不会消失
- Android让AlertDialog点击确定不会消失
- ubuntu14.04如何使用google search
- android-如何关闭AlertDialog.Builder对话框
- android-如何关闭AlertDialog.Builder对话框
- android-如何关闭AlertDialog.Builder对话框
- android-如何关闭AlertDialog.Builder对话框
- android-如何关闭AlertDialog.Builder对话框
- android-如何关闭AlertDialog.Builder对话框
- android上使用google search api
- Android基于Google云端的Voice Search
- Android系统:Google Search的问题点
- 如何不让UITableView滚动
- 浅析VS游戏竞技平台识别作弊软件的手段
- 全能挤房器2.0
- java之类加载器
- 战斗型开发者
- C# 根据当前时间获取,本周,本月,本季度等时间段【转自http://blog.webvv.com/?p=12】
- android -如何让不让AlertDialog dismissed by google search
- 版本控制软件 TortoiseSVN使用简介
- vTiger 访问权限
- 如何正式开始使用 vTtiger CRM 系统
- 在CComboBox组合框控件中 使用AddString()函数添加下拉列表项
- 人生的智慧(一)-叔本华
- iptables
- 魔兽争霸3 1.25补丁上线测试,平衡性有了很大调整
- 今天好热