Activity中的setDefaultKeyMode()
2012-07-23 10:26
218 查看
如果在Activity中的onCreate()方法中使用setDefaultKeyMode()可以做到在当前activity中打开拨号器、执行快捷键、启动本地搜索、启动全局搜索。
这个启动啥,要看setDefaultKeyMode中传了啥参数,不同的参数见下:
Select the default key handling for this activity. This controls what will happen to key events that are not otherwise handled(没有操纵的按键,在局部搜索是,我没设置之前,点击数字键是没有反应的,但是我点击以后,数字键就会自动搜索对应的点击的数字按键). The default mode (
will simply drop them on the floor. Other modes allow you to launch the dialer (
requiring the menu key be held down (
and
Note that the mode selected here does not impact the default handling of system keys(因为起作用的都是以前没有handled的按键,比如数字键之类的。), such as the "back" and "menu" keys, and your activity and its views always get a first chance to receive and handle all application keys.
Parameters
See Also
再总结一下:setDefaultKeyMode的默认值是:DEFAULT_KEYS_DISABLE;所以点击一些数字键之类的没有反应,但是设置了DEFAULT_KEY_SEARCH_LOCAL以后,再次点击数字键,会启动本地搜索的功能,我想就是设置默认的按钮模式的问题。默认没反应,设置以后产生对应的操作。
这个启动啥,要看setDefaultKeyMode中传了啥参数,不同的参数见下:
/** * Use with {@link #setDefaultKeyMode} to turn off default handling of * keys. * * @see #setDefaultKeyMode */ static public final int DEFAULT_KEYS_DISABLE = 0; //如果设为这个,则在activity中按键的不做响应 /** * Use with {@link #setDefaultKeyMode} to launch the dialer during default * key handling. * * @see #setDefaultKeyMode */ static public final int DEFAULT_KEYS_DIALER = 1; //如果设为这个,则在activity中按键会打开拨号器 /** * Use with {@link #setDefaultKeyMode} to execute a menu shortcut in * default key handling. * * <p>That is, the user does not need to hold down the menu key to execute menu shortcuts. * * @see #setDefaultKeyMode */ static public final int DEFAULT_KEYS_SHORTCUT = 2; //如果设为这个,则在activity中按键会启动快键键 /** * Use with {@link #setDefaultKeyMode} to specify that unhandled keystrokes * will start an application-defined search. (If the application or activity does not * actually define a search, the the keys will be ignored.) * * <p>See {@link android.app.SearchManager android.app.SearchManager} for more details. * * @see #setDefaultKeyMode */ static public final int DEFAULT_KEYS_SEARCH_LOCAL = 3; //如果设为这个,则在activity中按键会打开本地搜索 /** * Use with {@link #setDefaultKeyMode} to specify that unhandled keystrokes * will start a global search (typically web search, but some platforms may define alternate * methods for global search) * * <p>See {@link android.app.SearchManager android.app.SearchManager} for more details. * * @see #setDefaultKeyMode */ static public final int DEFAULT_KEYS_SEARCH_GLOBAL = 4; //如果设为这个,则在activity中按键会打开全局搜索
Select the default key handling for this activity. This controls what will happen to key events that are not otherwise handled(没有操纵的按键,在局部搜索是,我没设置之前,点击数字键是没有反应的,但是我点击以后,数字键就会自动搜索对应的点击的数字按键). The default mode (
DEFAULT_KEYS_DISABLE)
will simply drop them on the floor. Other modes allow you to launch the dialer (
DEFAULT_KEYS_DIALER), execute a shortcut in your options menu without
requiring the menu key be held down (
DEFAULT_KEYS_SHORTCUT), or launch a search (
DEFAULT_KEYS_SEARCH_LOCAL
and
DEFAULT_KEYS_SEARCH_GLOBAL).
Note that the mode selected here does not impact the default handling of system keys(因为起作用的都是以前没有handled的按键,比如数字键之类的。), such as the "back" and "menu" keys, and your activity and its views always get a first chance to receive and handle all application keys.
Parameters
mode | The desired default key mode constant. |
---|
DEFAULT_KEYS_DISABLE
DEFAULT_KEYS_DIALER
DEFAULT_KEYS_SHORTCUT
DEFAULT_KEYS_SEARCH_LOCAL
DEFAULT_KEYS_SEARCH_GLOBAL
onKeyDown(int, KeyEvent)
再总结一下:setDefaultKeyMode的默认值是:DEFAULT_KEYS_DISABLE;所以点击一些数字键之类的没有反应,但是设置了DEFAULT_KEY_SEARCH_LOCAL以后,再次点击数字键,会启动本地搜索的功能,我想就是设置默认的按钮模式的问题。默认没反应,设置以后产生对应的操作。
相关文章推荐
- Activity中的setDefaultKeyMode() (转载)
- Activity中的setDefaultKeyMode()基本用法
- Activity中的setDefaultKeyMode()
- Activity中的setDefaultKeyMode()基本用法
- 通过setDefaultKeyMode设置Activity的五种按键模式
- Activity中的setDefaultKeyMode()
- Activity中的setDefaultKeyMode()
- setDefaultKeyMode 用法介绍
- setDefaultKeyMode 用法介绍
- setDefaultKeyMode分析
- setDefaultKeyMode 用法介绍
- Android-setDefaultKeyMode方法
- setDefaultKeyMode(DEFAULT_KEYS_SHORTCUT) 功能的验证 及其 源码实现分析
- setDefaultKeyMode 用法介绍
- setDefaultKeyMode 用法介绍
- ?: (mysql.W002) MySQL Strict Mode is not set for database connection 'default'
- dict.setdefault(key, default=None)
- cocos2d-x 简单类型的存储--UserDefault的get/setxxxForKey()方法
- Set Linux starts in multi-user mode as default.
- Activity加载view6.0源码分析---setContentView