Activity中的setDefaultKeyMode()基本用法

如果在Activity中的onCreate()方法中使用setDefaultKeyMode()可以做到在当前activity中打开拨号器、执行快捷键、启动本地搜索、启动全局搜索。

这个启动啥,要看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.
See Also

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以后,再次点击数字键,会启动本地搜索的功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值