Android增加键值(二)

本文介绍如何在Android系统中自定义按键值MYHALL,并详细解释了如何通过kl文件配置按键行为,包括WAKE和WAKE_DROPPED两种模式的区别。同时提供了测试按键功能的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.在上一篇中,我们已经在linux中定义了键值MYHALL为250,继续上面键值在Android上添加键值。

     首先找到键值相关定义的kl文件,加入代码    

key 250   MYHALL              WAKE

     MYHALL就是我们在Android上使用关联的字符串。

注:在kl文件中:

     WAKE: 当设备睡眠时按下此键,设备将被唤醒,按键事件将会被发送到应用程序.

     WAKE_DROPPED: 当设备睡眠时按下此键,设备将被唤醒,而按键事件不会被发送到应用程序.

比如我的测试键值apk:

       1、当没有设置WAKE和WAKE_DROPPED时候,系统没有休眠的时候,正常读取到MYHALL键值,系统在睡眠时候,按下MYHALL,系统不能醒来,apk读取不到键值。

       2、当设置了WAKE_DROPPED的时候,系统如果在睡眠状态,按下MYHALL,系统唤醒,但是apk读取不到MYHALL键值。

       3、当设置了WAKE的时候,系统如果在睡眠状态,按下MYHALL,系统唤醒,并且apk成功读取到MYHALL键值。   

二.然后就跟着这个博客做吧(= =!)

     http://blog.youkuaiyun.com/kakaback/article/details/8115748

    代码修改完之后可能报错,make update_api下就好

三.编译通过,烧入系统之后,编写apk测试增加的键值,部分代码如下

package com.example.mykeycode;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.view.KeyEvent;

public class Mykeytest extends Activity {

        private EditText tv = null;
        String string="Start...";

        @Override
                public void onCreate(Bundle savedInstanceState) {
                        super.onCreate(savedInstanceState);
                        setContentView(R.layout.activity_mykeytest);

                        tv = (EditText)findViewById(R.id.editText1);
                        tv.setText(string);

                }
        @Override
                public boolean onKeyDown(int keyCode, KeyEvent event) {
                        if (keyCode==KeyEvent.KEYCODE_BACK) {
                                return false;
                        }
                        string="你按下的是"+"key["+keyCode+"]";
                        tv.setText(string);
                        return true;
                }
}

完整的apk键值测试源代码下载地址:

http://download.youkuaiyun.com/detail/u011630458/5963585
 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值