首页 > 关于效率源 > 新闻和事件 > 技术视界
【技术视界】精编手机千亿国际平台分析速查手册,赶快收藏!
2020年01月06日

要做好千亿国际平台分析工作,对千亿国际平台知识的熟练和掌握必不可少。之前在【技术视界】栏目我们推出了一篇《【技术视界】Windows千亿国际平台分析基础知识大全,赶快收藏!》文章,广受大家好评。

今天,我们又给大家整理了在手机千亿国际平台分析中的常用知识点,包括SQLite文件分析、常用调试工具、常见痕迹信息存储路径等知识点。本文内容较多,知识点充沛扎实,值得收藏仔细阅读哦。


一、SQLite文件相关知识

01.文件结构介绍

手机数据库一般用的是SQLite,SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,SQLite的数据类型为Typelessness。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在单一的文件中,文件的magic number是“0x53514C69746520666F726D61742033”(字符串为“SQLite format 3”)如图1所示:

图1:SQLite文件头结构图

从逻辑结构角度来看,SQLite数据库文件的最小管理单元是“页(page)”结构,页的类型有Btree页、空闲页、溢出页。页的大小是固定的,且在数据库被创建时设置,一般默认大小为1024byte,每个Btree页由四个部分构成,依次为:页头,单元指针数组,未分配空间,单元内容区,如图2:

图2:BTree页的结构图

在数据库的使用过程中也会产生一些临时文件,包括Journal files(*.journal)和Write Ahead Logs(*.wal)文件。

*.journal:主要用途是当事务要修改page时,先把未修改的page存入journal中,如果事务rollback时,就从journal中得到修改前的数据,覆盖已改的,达到事务的一致性。一般情况下,journal是一个不同于数据库文件的另一个文件,它在事务开始时创建,当事务结束时就删除;

*.wal:是一种日志模式,SQLite3.7.0 版本后引入了新的预写日志机制。每个事务执行变更时,修改数据页,同时会产生日志,这样在事务提交后,不需要将修改的脏页刷盘,只需要将事务产生的日志落盘即可返回。

 

02.SQLite常见的解析工具

 

03.SQLite分析中常用的SQL语句

SQL查询语句的常用结构

常用结构:SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 ORDER BY列

注意事项:

◆SQL语句中不区分大小写

◆红色部分为SQL语句中SELECT最简结构

◆若需查询所有列,可用使用符号*取代列的名称,如:SELECT * FROM tablename


联合查询

在很多社交聊天的APP中,分析数据时我们需要从两个或更多的表中获取结果,就会用到join语句。

1、语句结构

SELECT tabelA.column1, tabelA.column2, tabelB.column1,tabelB.column2 FROM tabelA LEFT JOIN tabelB ON tabelA.column3 = tabelB.column4


下面以查询微信数据库为例,语句编写为:

Select message.createTime,message.talker,message.content,rcontact.username,rcontact.nickname from message left join rcontact on rcontact.username = message.talker

 

1578277522959012040.jpg

 

常用函数

 

1、列名、表名重命名函数

SELECT  m.column AS rcolumn FROM tablename AS  m

2、统计函数
SELECT COUNT(*) FROM  tablename;

SELECT COUNT(column) FROM  tablename;

 

也可加入去重函数,结合使用:

SELECT COUNT(DISTINCT(column)) FROM  tablename;

 

37.jpg

 

3、排序函数 ORDER BY

order by中asc(默认)代表升序,desc代表降序
SELECT * FROM tablename ORDER BY column ASC;

 

4、模糊匹配函数 LIKE

SELECT * FROM tablename WHERE column LIKE ‘%xxx%’;

 

时间转换

大部分智能手机的数据库中都记录有时间戳,在分析千亿国际平台过程中常常需要进行时间格式的转换。

 

1、一般智能手机中的时间记录值是Unix时间戳

该值是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。在SQL语句中可使用datetime函数来进行转换,语句的格式为:SELECT datetime(column,'unixepoch') ;

 

1)如果要考虑时区的问题,可以通过datetime函数中关键字’localtime’来调整

2)如果可以确认时区信息,可以按照下面的方式直接进行调整

 

▲需要注意的是,上述示例中时间戳的精度均为毫秒(ms),但在一些场景中时间戳的精度为秒(s),在进行时间转换的时候不需如上例将时间戳除以1000。

 

2、除Unix时间戳,在智能手机中的时间戳还涉及到2种格式,分别是Mac时间戳和Chrome时间戳。

Mac时间戳是从2001年1月1日(UTC/GMT的午夜)开始所经过的秒数,Chrome时间戳是从1601年1月1日(UTC/GMT的午夜)开始所经过的微秒数,这两种时间戳要使用datetime函数,需要对时间戳进行转换。

 

1)Mac时间戳转换的格式

SELECT datetime(column + (strftime('%s','2001-01-01')),' unixepoch ', 'localtime' ) FROM tablebname;或SELECT datetime(column + 978307200,' unixepoch ', 'localtime' ) FROM tablebname;

2)Chrome时间戳转换的格式

SELECT datetime(column/1000000 +(strftime('%s','1601-01-01')),' unixepoch ', 'localtime') FROM tablebname;

3、当前时间点的时间戳格式区分小窍门

◆UTC时间戳(精度为s)一般长度为10

◆UTC时间戳(精度为ms)一般长度为13

◆Mac时间戳一般长度为9(此时间戳一般带有小数点,该值为小数点前的位数)

◆UTC时间戳一般长度为17

 

04.SQLite删除数据恢复

基于 SQLite 存储结构的数据恢复方法

1、基于文件系统的恢复

依据文件系统的元信息和结构特征,进行基于文件系统的数据恢复操作,还原 SQLite 数据库,再从中提取出记录。

2、基于SQLite数据库文件结构的恢复

在手机镜像或数据库文件中找到有效数据页,再从数据页中按照记录的结构特征提取记录进行恢复。

基于 SQLite 日志的数据恢复方法

在手机镜像或数据库文件中找到有效的数据页/数据块,进行校验后再提取记录。

 

二、常用调试工具

01.aapt

aapt即Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看,创建, 更新ZIP格式的文档附件(zip, jar, apk)。也可将资源文件编译成二进制文件。

1、aapt dump badging <file_path.apk> 

查看apk包的packageName、versionCode、applicationLabel、launcherActivity、permission等各种详细信息

2、aapt dump permissions <file_path.apk>

查看apk请求的权限

02.ADB command

借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。


常用的adb指令集

adb devices #打开USB调试输入命令连接

adb –s deviceid <command> #如果有多个设备连接,需要访问某一设备时执行指令

adb install -r xxx.apk #强制安装某个apk到手机

adb uninstall  [packagename] #卸载某个应用

adb uninstall -k [packagename]  #不删除程序运行所产生的数据和缓存目录(如软件的数据库文件)

adb pull androidpath PCpath  #从手机传送文件到电脑上

adb push PCpath androidpath   #将电脑上文件传送手机上(遇到push文件出现read-only提示:尝试下列指令来进行修复此问题adb disable-verity 、 adb remount,adb root)

adb forward <local> <remote> #端口转发,local为本地端口,remote为手机端口

adb backup #备份手机数据,示例备份微信数据:adb backup -f mm.ab -noapk -shared –nosystem com.tencent.mm

adb connect ipaddress:port#利用TCP/IP协议来连接同网段远程设备

adb reboot #重启手机

adb reboot edl#进入高通的9008(edl)模式

adb reboot recovery #进入手机recovery模式

adb reboot fastboot/bootloader #进入手机fastboot/bootloader模式

adb start-server #开启adb服务

adb kill-server #关闭adb服务

adb logcat #打印log

adb logcat –v time – s Launcher > E:\log.txt  #打印包含关键在Launcher以及时间的log输出到E盘的log.txt中

 

adb shell su 成功标志

已经root版本显示#,非root手机版本显示$

 

获取系统信息相关指令

adb shell dumpsys  activity  #打印activity栈信息(通过栈信息可以很快的定位当前界面是在哪一个Activity

adb shell dumpsys meminfo  #打印内存信息

adb shell dumpsys cpuinfo  #打印各个进程的cpu使用率

adb shell dumpsys window #显示键盘,窗口和它们的关系

adb shell dumpsys batteryinfo #电量信息及CPU 使用时长

adb shell dumpsys package #获取安装包信息

adb shell getprop ro.build.version.release  #获取手机系统版本

adb shell getprop ro.build.version.sdk#获取手机系统api版本

adb shell dumpsys iphonesubinfo;adb shell getprop gsm.baseband.imei;adb shell service call iphonesubinfo 1 #获取手机的IMEI

adb shell getprop ro.serialno#获取手机的序列号

adb shell getprop ro.product.brand#获取手机厂家

adb shell getprop ro.product.model#获取手机型号

adb shell getprop ro.product.version #获取厂家自定内部版本号

adb shell getprop | grep product #获取手机product信息

 

Package Manager(pm)相关指令

1、pm list package  #列出所有的应用的包名

该指令有下列参数可选择:

  • -s列出系统应用,adb shell pm list package –s

  • -3列出第三方应用,adb shell pm list package –3

  • -f列出应用包名及对应的apk名及存放位置,adb shell pm list package –f

  • -i列出应用包名及其安装来源, adb shell pm list package –i

  •  

    命令最后增加filter:过滤关键字,可以很方便地查找自己想要的应用。例如,查找三方应用中腾讯系列产品的包名、apk存放位置、安装来源:

    adb shell pm list package -f -3 -i tencent

     

     

    2、pm path #列出对应包名的 .apk 位置

     

     

    3、pm get-install-location #获取当前设置的应用安装路径,其中:

  • [0/auto]:默认为自动

  • [1/internal]:默认为安装在手机内部

  • [2/external]:默认安装在外部存储

  •  

    4、pm install xxx.apk 安装应用

  • 目标apk存放于PC端,请用adb install安装

  • 目标apk存放于Android设备上,请用pm install安装

  •  

    Activity Manager (am)相关指令

     

    1、adb shell am start [options] <INTENT> #启动一个activity

    例如启动照相机可使用:adb shell am start -n com.android.camera/.Camera

     

    该指令还可以启动应用后执行一些功能,比如启动拨号器并拨打10086

    打开浏览器并访问“www.baidu.com”

    当启动不存在的应用时,出现以下情况

    2、adb shell am startservice [options] <INTENT>:#启动一个service

    如adb shell am startservice -n com.lt.test/.MyService

     

    3、adb shell am force-stop com.tencent.mm  #强制关闭一个应用程序

     

    input 相关指令

    adb shell input text xxxxx #发送文本内容,但不能发送中文

    adb shell input keyevent keycode#发送约定的按键事件,常见的keycode请见附录A

    adb shell input tap x y#对屏幕发送一个触摸事件,触摸的坐标为(x,y)

    adb shell input swipe x1 y1 x2 y2 duration#向设备发送一个滑动指令,从坐标(x1,y1)滑动到(x2,y2),且滑动时长为duration(ms)

     

    find 相关指令

    find 搜索路径 [选项] 搜索内容

    find . -name "*. apk " #将目前目录及其子目录下所有后缀名名是 apk 的文件列出来

    find /data -name filename.db #查找/data 下指定文件名

    find / -ctime -20 #将根目录下所有最近 20 天内更新过的文件列出

    find /var/log -type f -mtime +7  #查找/var/log目录中更改时间在7日以前的普通文件(find指令使用方式较多,本文就不再赘述,根据使用需要可执行查找)

     

    其他常用指令

    adb shell uiautomator dump /sdcard/ui.xml #获取页面的控件信息保存到/sdcard/ui.xml

    adb shell screencap -p /sdcard/app.png #获取屏幕截图保存到/sdcard/app.png

    adb shell svc power stayon true  #保持常亮

    adb shell ps |find "uiautomator" #查找名为“uiautomator”的进程号

     

    常用fastboot指令

    fastboot oem lock-state info #华为获取bl锁状态

    fastboot oem get-build-number #华为获取当前固件版本

    adb reboot edl ;fastboot oem edl ;fastboot reboot emergency #进入高通的9008(edl)模式

     

    Android设备常用的其他命令

    操作Android 设备常用到的其他命令,这里只简单列出,不做详细介绍!常用其他命令如下:

    cat、cd、chmod、cp、date、df、du、grep、kill、ln、ls、lsof、netstat、rm、rmdir、top、touch、重定向符号 ">" ">>"、管道 "|"

     

    03.libimobiledevice

    libimobiledevice 是一个跨平台的软件库,支持 iPhone, iPod Touch, iPad and Apple TV 等设备的通讯协议。不依赖任何已有的私有库,不需要越狱。应用软件可以通过这个开发包轻松访问设备的文件系统、获取设备信息,备份和恢复设备,管理 SpringBoard 图标,管理已安装应用,获取通讯录、日程、备注和书签等信息,使用 libgpod 同步音乐和视频。该库支持MacOS和Linux平台。

     

    idevice_id -l  # 显示当前所连接的设备[udid],包括 usb、WiFi 连接

    instruments -s devices   # 列出设备包括模拟器、真机及 mac 电脑本身

    ideviceinstaller -u [udid] -i [xxx.ipa] # 给指定连接的设备安装应用

    ideviceinfo -u [udid]  # 指定设备,获取设备信息

    ideviceinfo -u [udid] -k DeviceName  # 指定设备,获取设备名称:iPhone6s

    ideviceinfo -u [udid] -k ProductVersion  # 指定设备,获取设备版本:10.3.1

    ideviceinfo -u [udid] -k ProductType    # 指定设备,获取设备类型:iPhone8,1

    ideviceinfo -u [udid] -k ProductName   # 指定设备,获取设备系统名称:iPhone OS

     

    指令还包括:idevicebackup,idevicecrashreport,idevicedate,ideviceenterrecovery,ideviceimagemounter,idevicename,idevicenotificationproxy,idevicepair,ideviceprovision,idevicescreenshot,idevicesyslog等。

     

    三、常见痕迹信息

    1、常见APP的用户数据文件保存路径

     

    2、常见APP包名

    四、每个数字与keycode对应表

    /** Key code constant: Unknown key code. */

    82    public static final int KEYCODE_UNKNOWN         = 0;

    83    /** Key code constant: Soft Left key.

    84     * Usually situated below the display on phones and used as a multi-function

    85     * feature key for selecting a software defined function shown on the bottom left

    86     * of the display. */

    87    public static final int KEYCODE_SOFT_LEFT       = 1;

    88    /** Key code constant: Soft Right key.

    89     * Usually situated below the display on phones and used as a multi-function

    90     * feature key for selecting a software defined function shown on the bottom right

    91     * of the display. */

    92    public static final int KEYCODE_SOFT_RIGHT      = 2;

    93    /** Key code constant: Home key.

    94     * This key is handled by the framework and is never delivered to applications. */

    95    public static final int KEYCODE_HOME            = 3;

    96    /** Key code constant: Back key. */

    97    public static final int KEYCODE_BACK            = 4;

    98    /** Key code constant: Call key. */

    99    public static final int KEYCODE_CALL            = 5;

    100    /** Key code constant: End Call key. */

    101    public static final int KEYCODE_ENDCALL         = 6;

    102    /** Key code constant: '0' key. */

    103    public static final int KEYCODE_0               = 7;

    104    /** Key code constant: '1' key. */

    105    public static final int KEYCODE_1               = 8;

    106    /** Key code constant: '2' key. */

    107    public static final int KEYCODE_2               = 9;

    108    /** Key code constant: '3' key. */

    109    public static final int KEYCODE_3               = 10;

    110    /** Key code constant: '4' key. */

    111    public static final int KEYCODE_4               = 11;

    112    /** Key code constant: '5' key. */

    113    public static final int KEYCODE_5               = 12;

    114    /** Key code constant: '6' key. */

    115    public static final int KEYCODE_6               = 13;

    116    /** Key code constant: '7' key. */

    117    public static final int KEYCODE_7               = 14;

    118    /** Key code constant: '8' key. */

    119    public static final int KEYCODE_8               = 15;

    120    /** Key code constant: '9' key. */

    121    public static final int KEYCODE_9               = 16;

    122    /** Key code constant: '*' key. */

    123    public static final int KEYCODE_STAR            = 17;

    124    /** Key code constant: '#' key. */

    125    public static final int KEYCODE_POUND           = 18;

    126    /** Key code constant: Directional Pad Up key.

    127     * May also be synthesized from trackball motions. */

    128    public static final int KEYCODE_DPAD_UP         = 19;

    129    /** Key code constant: Directional Pad Down key.

    130     * May also be synthesized from trackball motions. */

    131    public static final int KEYCODE_DPAD_DOWN       = 20;

    132    /** Key code constant: Directional Pad Left key.

    133     * May also be synthesized from trackball motions. */

    134    public static final int KEYCODE_DPAD_LEFT       = 21;

    135    /** Key code constant: Directional Pad Right key.

    136     * May also be synthesized from trackball motions. */

    137    public static final int KEYCODE_DPAD_RIGHT      = 22;

    138    /** Key code constant: Directional Pad Center key.

    139     * May also be synthesized from trackball motions. */

    140    public static final int KEYCODE_DPAD_CENTER     = 23;

    141    /** Key code constant: Volume Up key.

    142     * Adjusts the speaker volume up. */

    143    public static final int KEYCODE_VOLUME_UP       = 24;

    144    /** Key code constant: Volume Down key.

    145     * Adjusts the speaker volume down. */

    146    public static final int KEYCODE_VOLUME_DOWN     = 25;

    147    /** Key code constant: Power key. */

    148    public static final int KEYCODE_POWER           = 26;

    149    /** Key code constant: Camera key.

    150     * Used to launch a camera application or take pictures. */

    151    public static final int KEYCODE_CAMERA          = 27;

    152    /** Key code constant: Clear key. */

    153    public static final int KEYCODE_CLEAR           = 28;

    154    /** Key code constant: 'A' key. */

    155    public static final int KEYCODE_A               = 29;

    156    /** Key code constant: 'B' key. */

    157    public static final int KEYCODE_B               = 30;

    158    /** Key code constant: 'C' key. */

    159    public static final int KEYCODE_C               = 31;

    160    /** Key code constant: 'D' key. */

    161    public static final int KEYCODE_D               = 32;

    162    /** Key code constant: 'E' key. */

    163    public static final int KEYCODE_E               = 33;

    164    /** Key code constant: 'F' key. */

    165    public static final int KEYCODE_F               = 34;

    166    /** Key code constant: 'G' key. */

    167    public static final int KEYCODE_G               = 35;

    168    /** Key code constant: 'H' key. */

    169    public static final int KEYCODE_H               = 36;

    170    /** Key code constant: 'I' key. */

    171    public static final int KEYCODE_I               = 37;

    172    /** Key code constant: 'J' key. */

    173    public static final int KEYCODE_J               = 38;

    174    /** Key code constant: 'K' key. */

    175    public static final int KEYCODE_K               = 39;

    176    /** Key code constant: 'L' key. */

    177    public static final int KEYCODE_L               = 40;

    178    /** Key code constant: 'M' key. */

    179    public static final int KEYCODE_M               = 41;

    180    /** Key code constant: 'N' key. */

    181    public static final int KEYCODE_N               = 42;

    182    /** Key code constant: 'O' key. */

    183    public static final int KEYCODE_O               = 43;

    184    /** Key code constant: 'P' key. */

    185    public static final int KEYCODE_P               = 44;

    186    /** Key code constant: 'Q' key. */

    187    public static final int KEYCODE_Q               = 45;

    188    /** Key code constant: 'R' key. */

    189    public static final int KEYCODE_R               = 46;

    190    /** Key code constant: 'S' key. */

    191    public static final int KEYCODE_S               = 47;

    192    /** Key code constant: 'T' key. */

    193    public static final int KEYCODE_T               = 48;

    194    /** Key code constant: 'U' key. */

    195    public static final int KEYCODE_U               = 49;

    196    /** Key code constant: 'V' key. */

    197    public static final int KEYCODE_V               = 50;

    198    /** Key code constant: 'W' key. */

    199    public static final int KEYCODE_W               = 51;

    200    /** Key code constant: 'X' key. */

    201    public static final int KEYCODE_X               = 52;

    202    /** Key code constant: 'Y' key. */

    203    public static final int KEYCODE_Y               = 53;

    204    /** Key code constant: 'Z' key. */

    205    public static final int KEYCODE_Z               = 54;

    206    /** Key code constant: ',' key. */

    207    public static final int KEYCODE_COMMA           = 55;

    208    /** Key code constant: '.' key. */

    209    public static final int KEYCODE_PERIOD          = 56;

    210    /** Key code constant: Left Alt modifier key. */

    211    public static final int KEYCODE_ALT_LEFT        = 57;

    212    /** Key code constant: Right Alt modifier key. */

    213    public static final int KEYCODE_ALT_RIGHT       = 58;

    214    /** Key code constant: Left Shift modifier key. */

    215    public static final int KEYCODE_SHIFT_LEFT      = 59;

    216    /** Key code constant: Right Shift modifier key. */

    217    public static final int KEYCODE_SHIFT_RIGHT     = 60;

    218    /** Key code constant: Tab key. */

    219    public static final int KEYCODE_TAB             = 61;

    220    /** Key code constant: Space key. */

    221    public static final int KEYCODE_SPACE           = 62;

    222    /** Key code constant: Symbol modifier key.

    223     * Used to enter alternate symbols. */

    224    public static final int KEYCODE_SYM             = 63;

    225    /** Key code constant: Explorer special function key.

    226     * Used to launch a browser application. */

    227    public static final int KEYCODE_EXPLORER        = 64;

    228    /** Key code constant: Envelope special function key.

    229     * Used to launch a mail application. */

    230    public static final int KEYCODE_ENVELOPE        = 65;

    231    /** Key code constant: Enter key. */

    232    public static final int KEYCODE_ENTER           = 66;

    233    /** Key code constant: Backspace key.

    234     * Deletes characters before the insertion point, unlike {@link #KEYCODE_FORWARD_DEL}. */

    235    public static final int KEYCODE_DEL             = 67;

    236    /** Key code constant: '`' (backtick) key. */

    237    public static final int KEYCODE_GRAVE           = 68;

    238    /** Key code constant: '-'. */

    239    public static final int KEYCODE_MINUS           = 69;

    240    /** Key code constant: '=' key. */

    241    public static final int KEYCODE_EQUALS          = 70;

    242    /** Key code constant: '[' key. */

    243    public static final int KEYCODE_LEFT_BRACKET    = 71;

    244    /** Key code constant: ']' key. */

    245    public static final int KEYCODE_RIGHT_BRACKET   = 72;

    246    /** Key code constant: '\' key. */

    247    public static final int KEYCODE_BACKSLASH       = 73;

    248    /** Key code constant: ';' key. */

    249    public static final int KEYCODE_SEMICOLON       = 74;

    250    /** Key code constant: ''' (apostrophe) key. */

    251    public static final int KEYCODE_APOSTROPHE      = 75;

    252    /** Key code constant: '/' key. */

    253    public static final int KEYCODE_SLASH           = 76;

    254    /** Key code constant: '@' key. */

    255    public static final int KEYCODE_AT              = 77;

    256    /** Key code constant: Number modifier key.

    257     * Used to enter numeric symbols.

    258     * This key is not Num Lock; it is more like {@link #KEYCODE_ALT_LEFT} and is

    259     * interpreted as an ALT key by {@link android.text.method.MetaKeyKeyListener}. */

    260    public static final int KEYCODE_NUM             = 78;

    261    /** Key code constant: Headset Hook key.

    262     * Used to hang up calls and stop media. */

    263    public static final int KEYCODE_HEADSETHOOK     = 79;

    264    /** Key code constant: Camera Focus key.

    265     * Used to focus the camera. */

    266    public static final int KEYCODE_FOCUS           = 80;   // *Camera* focus

    267    /** Key code constant: '+' key. */

    268    public static final int KEYCODE_PLUS            = 81;

    269    /** Key code constant: Menu key. */

    270    public static final int KEYCODE_MENU            = 82;

    271    /** Key code constant: Notification key. */

    272    public static final int KEYCODE_NOTIFICATION    = 83;

    273    /** Key code constant: Search key. */

    274    public static final int KEYCODE_SEARCH          = 84;

    275    /** Key code constant: Play/Pause media key. */

    276    public static final int KEYCODE_MEDIA_PLAY_PAUSE= 85;

    277    /** Key code constant: Stop media key. */

    278    public static final int KEYCODE_MEDIA_STOP      = 86;

    279    /** Key code constant: Play Next media key. */

    280    public static final int KEYCODE_MEDIA_NEXT      = 87;

    281    /** Key code constant: Play Previous media key. */

    282    public static final int KEYCODE_MEDIA_PREVIOUS  = 88;

    283    /** Key code constant: Rewind media key. */

    284    public static final int KEYCODE_MEDIA_REWIND    = 89;

    285    /** Key code constant: Fast Forward media key. */

    286    public static final int KEYCODE_MEDIA_FAST_FORWARD = 90;

    287    /** Key code constant: Mute key.

    288     * Mutes the microphone, unlike {@link #KEYCODE_VOLUME_MUTE}. */

    289    public static final int KEYCODE_MUTE            = 91;

    290    /** Key code constant: Page Up key. */

    291    public static final int KEYCODE_PAGE_UP         = 92;

    292    /** Key code constant: Page Down key. */

    293    public static final int KEYCODE_PAGE_DOWN       = 93;

    294    /** Key code constant: Picture Symbols modifier key.

    295     * Used to switch symbol sets (Emoji, Kao-moji). */

    296    public static final int KEYCODE_PICTSYMBOLS     = 94;   // switch symbol-sets (Emoji,Kao-moji)

    297    /** Key code constant: Switch Charset modifier key.

    298     * Used to switch character sets (Kanji, Katakana). */

    299    public static final int KEYCODE_SWITCH_CHARSET  = 95;   // switch char-sets (Kanji,Katakana)

    300    /** Key code constant: A Button key.

    301     * On a game controller, the A button should be either the button labeled A

    302     * or the first button on the bottom row of controller buttons. */

    303    public static final int KEYCODE_BUTTON_A        = 96;

    304    /** Key code constant: B Button key.

    305     * On a game controller, the B button should be either the button labeled B

    306     * or the second button on the bottom row of controller buttons. */

    307    public static final int KEYCODE_BUTTON_B        = 97;

    308    /** Key code constant: C Button key.

    309     * On a game controller, the C button should be either the button labeled C

    310     * or the third button on the bottom row of controller buttons. */

    311    public static final int KEYCODE_BUTTON_C        = 98;

    312    /** Key code constant: X Button key.

    313     * On a game controller, the X button should be either the button labeled X

    314     * or the first button on the upper row of controller buttons. */

    315    public static final int KEYCODE_BUTTON_X        = 99;

    316    /** Key code constant: Y Button key.

    317     * On a game controller, the Y button should be either the button labeled Y

    318     * or the second button on the upper row of controller buttons. */

    319    public static final int KEYCODE_BUTTON_Y        = 100;

    320    /** Key code constant: Z Button key.

    321     * On a game controller, the Z button should be either the button labeled Z

    322     * or the third button on the upper row of controller buttons. */

    323    public static final int KEYCODE_BUTTON_Z        = 101;

    324    /** Key code constant: L1 Button key.

    325     * On a game controller, the L1 button should be either the button labeled L1 (or L)

    326     * or the top left trigger button. */

    327    public static final int KEYCODE_BUTTON_L1       = 102;

    328    /** Key code constant: R1 Button key.

    329     * On a game controller, the R1 button should be either the button labeled R1 (or R)

    330     * or the top right trigger button. */

    331    public static final int KEYCODE_BUTTON_R1       = 103;

    332    /** Key code constant: L2 Button key.

    333     * On a game controller, the L2 button should be either the button labeled L2

    334     * or the bottom left trigger button. */

    335    public static final int KEYCODE_BUTTON_L2       = 104;

    336    /** Key code constant: R2 Button key.

    337     * On a game controller, the R2 button should be either the button labeled R2

    338     * or the bottom right trigger button. */

    339    public static final int KEYCODE_BUTTON_R2       = 105;

    340    /** Key code constant: Left Thumb Button key.

    341     * On a game controller, the left thumb button indicates that the left (or only)

    342     * joystick is pressed. */

    343    public static final int KEYCODE_BUTTON_THUMBL   = 106;

    344    /** Key code constant: Right Thumb Button key.

    345     * On a game controller, the right thumb button indicates that the right

    346     * joystick is pressed. */

    347    public static final int KEYCODE_BUTTON_THUMBR   = 107;

    348    /** Key code constant: Start Button key.

    349     * On a game controller, the button labeled Start. */

    350    public static final int KEYCODE_BUTTON_START    = 108;

    351    /** Key code constant: Select Button key.

    352     * On a game controller, the button labeled Select. */

    353    public static final int KEYCODE_BUTTON_SELECT   = 109;

    354    /** Key code constant: Mode Button key.

    355     * On a game controller, the button labeled Mode. */

    356    public static final int KEYCODE_BUTTON_MODE     = 110;

    357    /** Key code constant: Escape key. */

    358    public static final int KEYCODE_ESCAPE          = 111;

    359    /** Key code constant: Forward Delete key.

    360     * Deletes characters ahead of the insertion point, unlike {@link #KEYCODE_DEL}. */

    361    public static final int KEYCODE_FORWARD_DEL     = 112;

    362    /** Key code constant: Left Control modifier key. */

    363    public static final int KEYCODE_CTRL_LEFT       = 113;

    364    /** Key code constant: Right Control modifier key. */

    365    public static final int KEYCODE_CTRL_RIGHT      = 114;

    366    /** Key code constant: Caps Lock key. */

    367    public static final int KEYCODE_CAPS_LOCK       = 115;

    368    /** Key code constant: Scroll Lock key. */

    369    public static final int KEYCODE_SCROLL_LOCK     = 116;

    370    /** Key code constant: Left Meta modifier key. */

    371    public static final int KEYCODE_META_LEFT       = 117;

    372    /** Key code constant: Right Meta modifier key. */

    373    public static final int KEYCODE_META_RIGHT      = 118;

    374    /** Key code constant: Function modifier key. */

    375    public static final int KEYCODE_FUNCTION        = 119;

    376    /** Key code constant: System Request / Print Screen key. */

    377    public static final int KEYCODE_SYSRQ           = 120;

    378    /** Key code constant: Break / Pause key. */

    379    public static final int KEYCODE_BREAK           = 121;

    380    /** Key code constant: Home Movement key.

    381     * Used for scrolling or moving the cursor around to the start of a line

    382     * or to the top of a list. */

    383    public static final int KEYCODE_MOVE_HOME       = 122;

    384    /** Key code constant: End Movement key.

    385     * Used for scrolling or moving the cursor around to the end of a line

    386     * or to the bottom of a list. */

    387    public static final int KEYCODE_MOVE_END        = 123;

    388    /** Key code constant: Insert key.

    389     * Toggles insert / overwrite edit mode. */

    390    public static final int KEYCODE_INSERT          = 124;

    391    /** Key code constant: Forward key.

    392     * Navigates forward in the history stack.  Complement of {@link #KEYCODE_BACK}. */

    393    public static final int KEYCODE_FORWARD         = 125;

    394    /** Key code constant: Play media key. */

    395    public static final int KEYCODE_MEDIA_PLAY      = 126;

    396    /** Key code constant: Pause media key. */

    397    public static final int KEYCODE_MEDIA_PAUSE     = 127;

    398    /** Key code constant: Close media key.

    399     * May be used to close a CD tray, for example. */

    400    public static final int KEYCODE_MEDIA_CLOSE     = 128;

    401    /** Key code constant: Eject media key.

    402     * May be used to eject a CD tray, for example. */

    403    public static final int KEYCODE_MEDIA_EJECT     = 129;

    404    /** Key code constant: Record media key. */

    405    public static final int KEYCODE_MEDIA_RECORD    = 130;

    406    /** Key code constant: F1 key. */

    407    public static final int KEYCODE_F1              = 131;

    408    /** Key code constant: F2 key. */

    409    public static final int KEYCODE_F2              = 132;

    410    /** Key code constant: F3 key. */

    411    public static final int KEYCODE_F3              = 133;

    412    /** Key code constant: F4 key. */

    413    public static final int KEYCODE_F4              = 134;

    414    /** Key code constant: F5 key. */

    415    public static final int KEYCODE_F5              = 135;

    416    /** Key code constant: F6 key. */

    417    public static final int KEYCODE_F6              = 136;

    418    /** Key code constant: F7 key. */

    419    public static final int KEYCODE_F7              = 137;

    420    /** Key code constant: F8 key. */

    421    public static final int KEYCODE_F8              = 138;

    422    /** Key code constant: F9 key. */

    423    public static final int KEYCODE_F9              = 139;

    424    /** Key code constant: F10 key. */

    425    public static final int KEYCODE_F10             = 140;

    426    /** Key code constant: F11 key. */

    427    public static final int KEYCODE_F11             = 141;

    428    /** Key code constant: F12 key. */

    429    public static final int KEYCODE_F12             = 142;

    430    /** Key code constant: Num Lock key.

    431     * This is the Num Lock key; it is different from {@link #KEYCODE_NUM}.

    432     * This key alters the behavior of other keys on the numeric keypad. */

    433    public static final int KEYCODE_NUM_LOCK        = 143;

    434    /** Key code constant: Numeric keypad '0' key. */

    435    public static final int KEYCODE_NUMPAD_0        = 144;

    436    /** Key code constant: Numeric keypad '1' key. */

    437    public static final int KEYCODE_NUMPAD_1        = 145;

    438    /** Key code constant: Numeric keypad '2' key. */

    439    public static final int KEYCODE_NUMPAD_2        = 146;

    440    /** Key code constant: Numeric keypad '3' key. */

    441    public static final int KEYCODE_NUMPAD_3        = 147;

    442    /** Key code constant: Numeric keypad '4' key. */

    443    public static final int KEYCODE_NUMPAD_4        = 148;

    444    /** Key code constant: Numeric keypad '5' key. */

    445    public static final int KEYCODE_NUMPAD_5        = 149;

    446    /** Key code constant: Numeric keypad '6' key. */

    447    public static final int KEYCODE_NUMPAD_6        = 150;

    448    /** Key code constant: Numeric keypad '7' key. */

    449    public static final int KEYCODE_NUMPAD_7        = 151;

    450    /** Key code constant: Numeric keypad '8' key. */

    451    public static final int KEYCODE_NUMPAD_8        = 152;

    452    /** Key code constant: Numeric keypad '9' key. */

    453    public static final int KEYCODE_NUMPAD_9        = 153;

    454    /** Key code constant: Numeric keypad '/' key (for division). */

    455    public static final int KEYCODE_NUMPAD_DIVIDE   = 154;

    456    /** Key code constant: Numeric keypad '*' key (for multiplication). */

    457    public static final int KEYCODE_NUMPAD_MULTIPLY = 155;

    458    /** Key code constant: Numeric keypad '-' key (for subtraction). */

    459    public static final int KEYCODE_NUMPAD_SUBTRACT = 156;

    460    /** Key code constant: Numeric keypad '+' key (for addition). */

    461    public static final int KEYCODE_NUMPAD_ADD      = 157;

    462    /** Key code constant: Numeric keypad '.' key (for decimals or digit grouping). */

    463    public static final int KEYCODE_NUMPAD_DOT      = 158;

    464    /** Key code constant: Numeric keypad ',' key (for decimals or digit grouping). */

    465    public static final int KEYCODE_NUMPAD_COMMA    = 159;

    466    /** Key code constant: Numeric keypad Enter key. */

    467    public static final int KEYCODE_NUMPAD_ENTER    = 160;

    468    /** Key code constant: Numeric keypad '=' key. */

    469    public static final int KEYCODE_NUMPAD_EQUALS   = 161;

    470    /** Key code constant: Numeric keypad '(' key. */

    471    public static final int KEYCODE_NUMPAD_LEFT_PAREN = 162;

    472    /** Key code constant: Numeric keypad ')' key. */

    473    public static final int KEYCODE_NUMPAD_RIGHT_PAREN = 163;

    474    /** Key code constant: Volume Mute key.

    475     * Mutes the speaker, unlike {@link #KEYCODE_MUTE}.

    476     * This key should normally be implemented as a toggle such that the first press

    477     * mutes the speaker and the second press restores the original volume. */

    478    public static final int KEYCODE_VOLUME_MUTE     = 164;

    479    /** Key code constant: Info key.

    480     * Common on TV remotes to show additional information related to what is

    481     * currently being viewed. */

    482    public static final int KEYCODE_INFO            = 165;

    483    /** Key code constant: Channel up key.

    484     * On TV remotes, increments the television channel. */

    485    public static final int KEYCODE_CHANNEL_UP      = 166;

    486    /** Key code constant: Channel down key.

    487     * On TV remotes, decrements the television channel. */

    488    public static final int KEYCODE_CHANNEL_DOWN    = 167;

    489    /** Key code constant: Zoom in key. */

    490    public static final int KEYCODE_ZOOM_IN         = 168;

    491    /** Key code constant: Zoom out key. */

    492    public static final int KEYCODE_ZOOM_OUT        = 169;

    493    /** Key code constant: TV key.

    494     * On TV remotes, switches to viewing live TV. */

    495    public static final int KEYCODE_TV              = 170;

    496    /** Key code constant: Window key.

    497     * On TV remotes, toggles picture-in-picture mode or other windowing functions.

    498     * On Android Wear devices, triggers a display offset. */

    499    public static final int KEYCODE_WINDOW          = 171;

    500    /** Key code constant: Guide key.

    501     * On TV remotes, shows a programming guide. */

    502    public static final int KEYCODE_GUIDE           = 172;

    503    /** Key code constant: DVR key.

    504     * On some TV remotes, switches to a DVR mode for recorded shows. */

    505    public static final int KEYCODE_DVR             = 173;

    506    /** Key code constant: Bookmark key.

    507     * On some TV remotes, bookmarks content or web pages. */

    508    public static final int KEYCODE_BOOKMARK        = 174;

    509    /** Key code constant: Toggle captions key.

    510     * Switches the mode for closed-captioning text, for example during television shows. */

    511    public static final int KEYCODE_CAPTIONS        = 175;

    512    /** Key code constant: Settings key.

    513     * Starts the system settings activity. */

    514    public static final int KEYCODE_SETTINGS        = 176;

    515    /** Key code constant: TV power key.

    516     * On TV remotes, toggles the power on a television screen. */

    517    public static final int KEYCODE_TV_POWER        = 177;

    518    /** Key code constant: TV input key.

    519     * On TV remotes, switches the input on a television screen. */

    520    public static final int KEYCODE_TV_INPUT        = 178;

    521    /** Key code constant: Set-top-box power key.

    522     * On TV remotes, toggles the power on an external Set-top-box. */

    523    public static final int KEYCODE_STB_POWER       = 179;

    524    /** Key code constant: Set-top-box input key.

    525     * On TV remotes, switches the input mode on an external Set-top-box. */

    526    public static final int KEYCODE_STB_INPUT       = 180;

    527    /** Key code constant: A/V Receiver power key.

    528     * On TV remotes, toggles the power on an external A/V Receiver. */

    529    public static final int KEYCODE_AVR_POWER       = 181;

    530    /** Key code constant: A/V Receiver input key.

    531     * On TV remotes, switches the input mode on an external A/V Receiver. */

    532    public static final int KEYCODE_AVR_INPUT       = 182;

    533    /** Key code constant: Red "programmable" key.

    534     * On TV remotes, acts as a contextual/programmable key. */

    535    public static final int KEYCODE_PROG_RED        = 183;

    536    /** Key code constant: Green "programmable" key.

    537     * On TV remotes, actsas a contextual/programmable key. */

    538    public static final int KEYCODE_PROG_GREEN      = 184;

    539    /** Key code constant: Yellow "programmable" key.

    540     * On TV remotes, acts as a contextual/programmable key. */

    541    public static final int KEYCODE_PROG_YELLOW     = 185;

    542    /** Key code constant: Blue "programmable" key.

    543     * On TV remotes, acts as a contextual/programmable key. */

    544    public static final int KEYCODE_PROG_BLUE       = 186;

    545    /** Key code constant: App switch key.

    546     * Should bring up the application switcher dialog. */

    547    public static final int KEYCODE_APP_SWITCH      = 187;

    548    /** Key code constant: Generic Game Pad Button #1.*/

    549    public static final int KEYCODE_BUTTON_1        = 188;

    550    /** Key code constant: Generic Game Pad Button #2.*/

    551    public static final int KEYCODE_BUTTON_2        = 189;

    552    /** Key code constant: Generic Game Pad Button #3.*/

    553    public static final int KEYCODE_BUTTON_3        = 190;

    554    /** Key code constant: Generic Game Pad Button #4.*/

    555    public static final int KEYCODE_BUTTON_4        = 191;

    556    /** Key code constant: Generic Game Pad Button #5.*/

    557    public static final int KEYCODE_BUTTON_5        = 192;

    558    /** Key code constant: Generic Game Pad Button #6.*/

    559    public static final int KEYCODE_BUTTON_6        = 193;

    560    /** Key code constant: Generic Game Pad Button #7.*/

    561    public static final int KEYCODE_BUTTON_7        = 194;

    562    /** Key code constant: Generic Game Pad Button #8.*/

    563    public static final int KEYCODE_BUTTON_8        = 195;

    564    /** Key code constant: Generic Game Pad Button #9.*/

    565    public static final int KEYCODE_BUTTON_9        = 196;

    566    /** Key code constant: Generic Game Pad Button #10.*/

    567    public static final int KEYCODE_BUTTON_10       = 197;

    568    /** Key code constant: Generic Game Pad Button #11.*/

    569    public static final int KEYCODE_BUTTON_11       = 198;

    570    /** Key code constant: Generic Game Pad Button #12.*/

    571    public static final int KEYCODE_BUTTON_12       = 199;

    572    /** Key code constant: Generic Game Pad Button #13.*/

    573    public static final int KEYCODE_BUTTON_13       = 200;

    574    /** Key code constant: Generic Game Pad Button #14.*/

    575    public static final int KEYCODE_BUTTON_14       = 201;

    576    /** Key code constant: Generic Game Pad Button #15.*/

    577    public static final int KEYCODE_BUTTON_15       = 202;

    578    /** Key code constant: Generic Game Pad Button #16.*/

    579    public static final int KEYCODE_BUTTON_16       = 203;

    580    /** Key code constant: Language Switch key.

    581     * Toggles the current input language such as switching between English and Japanese on

    582     * a QWERTY keyboard.  On some devices, the same function may be performed by

    583     * pressing Shift+Spacebar. */

    584    public static final int KEYCODE_LANGUAGE_SWITCH = 204;

    585    /** Key code constant: Manner Mode key.

    586     * Toggles silent or vibrate mode on and off to make the device behave more politely

    587     * in certain settings such as on a crowded train.  On some devices, the key may only

    588     * operate when long-pressed. */

    589    public static final int KEYCODE_MANNER_MODE     = 205;

    590    /** Key code constant: 3D Mode key.

    591     * Toggles the display between 2D and 3D mode. */

    592    public static final int KEYCODE_3D_MODE         = 206;

    593    /** Key code constant: Contacts special function key.

    594     * Used to launch an address book application. */

    595    public static final int KEYCODE_CONTACTS        = 207;

    596    /** Key code constant: Calendar special function key.

    597     * Used to launch a calendar application. */

    598    public static final int KEYCODE_CALENDAR        = 208;

    599    /** Key code constant: Music special function key.

    600     * Used to launch a music player application. */

    601    public static final int KEYCODE_MUSIC           = 209;

    602    /** Key code constant: Calculator special function key.

    603     * Used to launch a calculator application. */

    604    public static final int KEYCODE_CALCULATOR      = 210;

    605    /** Key code constant: Japanese full-width / half-width key. */

    606    public static final int KEYCODE_ZENKAKU_HANKAKU = 211;

    607    /** Key code constant: Japanese alphanumeric key. */

    608    public static final int KEYCODE_EISU            = 212;

    609    /** Key code constant: Japanese non-conversion key. */

    610    public static final int KEYCODE_MUHENKAN        = 213;

    611    /** Key code constant: Japanese conversion key. */

    612    public static final int KEYCODE_HENKAN          = 214;

    613    /** Key code constant: Japanese katakana / hiragana key. */

    614    public static final int KEYCODE_KATAKANA_HIRAGANA = 215;

    615    /** Key code constant: Japanese Yen key. */

    616    public static final int KEYCODE_YEN             = 216;

    617    /** Key code constant: Japanese Ro key. */

    618    public static final int KEYCODE_RO              = 217;

    619    /** Key code constant: Japanese kana key. */

    620    public static final int KEYCODE_KANA            = 218;

    621    /** Key code constant: Assist key.

    622     * Launches the global assist activity.  Not delivered to applications. */

    623    public static final int KEYCODE_ASSIST          = 219;

    624    /** Key code constant: Brightness Down key.

    625     * Adjusts the screen brightness down. */

    626    public static final int KEYCODE_BRIGHTNESS_DOWN = 220;

    627    /** Key code constant: Brightness Up key.

    628     * Adjusts the screen brightness up. */

    629    public static final int KEYCODE_BRIGHTNESS_UP   = 221;

    630    /** Key code constant: Audio Track key.

    631     * Switches the audio tracks. */

    632    public static final int KEYCODE_MEDIA_AUDIO_TRACK = 222;

    633    /** Key code constant: Sleep key.

    634     * Puts the device to sleep.  Behaves somewhat like {@link #KEYCODE_POWER} but it

    635     * has no effect if the device is already asleep. */

    636    public static final int KEYCODE_SLEEP           = 223;

    637    /** Key code constant: Wakeup key.

    638     * Wakes up the device.  Behaves somewhat like {@link #KEYCODE_POWER} but it

    639     * has no effect if the device is already awake. */

    640    public static final int KEYCODE_WAKEUP          = 224;

    641    /** Key code constant: Pairing key.

    642     * Initiates peripheral pairing mode. Useful for pairing remote control

    643     * devices or game controllers, especially if no other input mode is

    644     * available. */

    645    public static final int KEYCODE_PAIRING         = 225;

    646    /** Key code constant: Media Top Menu key.

    647     * Goes to the top of media menu. */

    648    public static final int KEYCODE_MEDIA_TOP_MENU  = 226;

    649    /** Key code constant: '11' key. */

    650    public static final int KEYCODE_11              = 227;

    651    /** Key code constant: '12' key. */

    652    public static final int KEYCODE_12              = 228;

    653    /** Key code constant: Last Channel key.

    654     * Goes to the last viewed channel. */

    655    public static final int KEYCODE_LAST_CHANNEL    = 229;

    656    /** Key code constant: TV data service key.

    657     * Displays data services like weather, sports. */

    658    public static final int KEYCODE_TV_DATA_SERVICE = 230;

    659    /** Key code constant: Voice Assist key.

    660     * Launches the global voice assist activity. Not delivered to applications. */

    661    public static final int KEYCODE_VOICE_ASSIST = 231;

    662    /** Key code constant: Radio key.

    663     * Toggles TV service / Radio service. */

    664    public static final int KEYCODE_TV_RADIO_SERVICE = 232;

    665    /** Key code constant: Teletext key.

    666     * Displays Teletext service. */

    667    public static final int KEYCODE_TV_TELETEXT = 233;

    668    /** Key code constant: Number entry key.

    669     * Initiates to enter multi-digit channel nubmber when each digit key is assigned

    670     * for selecting separate channel. Corresponds to Number Entry Mode (0x1D) of CEC

    671     * User Control Code. */

    672    public static final int KEYCODE_TV_NUMBER_ENTRY = 234;

    673    /** Key code constant: Analog Terrestrial key.

    674     * Switches to analog terrestrial broadcast service. */

    675    public static final int KEYCODE_TV_TERRESTRIAL_ANALOG = 235;

    676    /** Key code constant: Digital Terrestrial key.

    677     * Switches to digital terrestrial broadcast service. */

    678    public static final int KEYCODE_TV_TERRESTRIAL_DIGITAL = 236;

    679    /** Key code constant: Satellite key.

    680     * Switches to digital satellite broadcast service. */

    681    public static final int KEYCODE_TV_SATELLITE = 237;

    682    /** Key code constant: BS key.

    683     * Switches to BS digital satellite broadcasting service available in Japan. */

    684    public static final int KEYCODE_TV_SATELLITE_BS = 238;

    685    /** Key code constant: CS key.

    686     * Switches to CS digital satellite broadcasting service available in Japan. */

    687    public static final int KEYCODE_TV_SATELLITE_CS = 239;

    688    /** Key code constant: BS/CS key.

    689     * Toggles between BS and CS digital satellite services. */

    690    public static final int KEYCODE_TV_SATELLITE_SERVICE = 240;

    691    /** Key code constant: Toggle Network key.

    692     * Toggles selecting broacast services. */

    693    public static final int KEYCODE_TV_NETWORK = 241;

    694    /** Key code constant: Antenna/Cable key.

    695     * Toggles broadcast input source between antenna and cable. */

    696    public static final int KEYCODE_TV_ANTENNA_CABLE = 242;

    697    /** Key code constant: HDMI #1 key.

    698     * Switches to HDMI input #1. */

    699    public static final int KEYCODE_TV_INPUT_HDMI_1 = 243;

    700    /** Key code constant: HDMI #2 key.

    701     * Switches to HDMI input #2. */

    702    public static final int KEYCODE_TV_INPUT_HDMI_2 = 244;

    703    /** Key code constant: HDMI #3 key.

    704     * Switches to HDMI input #3. */

    705    public static final int KEYCODE_TV_INPUT_HDMI_3 = 245;

    706    /** Key code constant: HDMI #4 key.

    707     * Switches to HDMI input #4. */

    708    public static final int KEYCODE_TV_INPUT_HDMI_4 = 246;

    709    /** Key code constant: Composite #1 key.

    710     * Switches to composite video input #1. */

    711    public static final int KEYCODE_TV_INPUT_COMPOSITE_1 = 247;

    712    /** Key code constant: Composite #2 key.

    713     * Switches to composite video input #2. */

    714    public static final int KEYCODE_TV_INPUT_COMPOSITE_2 = 248;

    715    /** Key code constant: Component #1 key.

    716     * Switches to component video input #1. */

    717    public static final int KEYCODE_TV_INPUT_COMPONENT_1 = 249;

    718    /** Key code constant: Component #2 key.

    719     * Switches to component video input #2. */

    720    public static final int KEYCODE_TV_INPUT_COMPONENT_2 = 250;

    721    /** Key code constant: VGA #1 key.

    722     * Switches to VGA (analog RGB) input #1. */

    723    public static final int KEYCODE_TV_INPUT_VGA_1 = 251;

    724    /** Key code constant: Audio description key.

    725     * Toggles audio description off / on. */

    726    public static final int KEYCODE_TV_AUDIO_DESCRIPTION = 252;

    727    /** Key code constant: Audio description mixing volume up key.

    728     * Louden audio description volume as compared with normal audio volume. */

    729    public static final int KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP = 253;

    730    /** Key code constant: Audio description mixing volume down key.

    731     * Lessen audio description volume as compared with normal audio volume. */

    732    public static final int KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN = 254;

    733    /** Key code constant: Zoom mode key.

    734     * Changes Zoom mode (Normal, Full, Zoom, Wide-zoom, etc.) */

    735    public static final int KEYCODE_TV_ZOOM_MODE = 255;

    736    /** Key code constant: Contents menu key.

    737     * Goes to the title list. Corresponds to Contents Menu (0x0B) of CEC User Control

    738     * Code */

    739    public static final int KEYCODE_TV_CONTENTS_MENU = 256;

    740    /** Key code constant: Media context menu key.

    741     * Goes to the context menu of media contents. Corresponds to Media Context-sensitive

    742     * Menu (0x11) of CEC User Control Code. */

    743    public static final int KEYCODE_TV_MEDIA_CONTEXT_MENU = 257;

    744    /** Key code constant: Timer programming key.

    745     * Goes to the timer recording menu. Corresponds to Timer Programming (0x54) of

    746     * CEC User Control Code. */

    747    public static final int KEYCODE_TV_TIMER_PROGRAMMING = 258;

    748    /** Key code constant: Help key. */

    749    public static final int KEYCODE_HELP = 259;

    750    /** Key code constant: Navigate to previous key.

    751     * Goes backward by one item in an ordered collection of items. */

    752    public static final int KEYCODE_NAVIGATE_PREVIOUS = 260;

    753    /** Key code constant: Navigate to next key.

    754     * Advances to the next item in an ordered collection of items. */

    755    public static final int KEYCODE_NAVIGATE_NEXT   = 261;

    756    /** Key code constant: Navigate in key.

    757     * Activates the item that currently has focus or expands to the next level of a navigation

    758     * hierarchy. */

    759    public static final int KEYCODE_NAVIGATE_IN     = 262;

    760    /** Key code constant: Navigate out key.

    761     * Backs out one level of a navigation hierarchy or collapses the item that currently has

    762     * focus. */

    763    public static final int KEYCODE_NAVIGATE_OUT    = 263;

    764    /** Key code constant: Primary stem key for Wear

    765     * Main power/reset button on watch. */

    766    public static final int KEYCODE_STEM_PRIMARY = 264;

    767    /** Key code constant: Generic stem key 1 for Wear */

    768    public static final int KEYCODE_STEM_1 = 265;

    769    /** Key code constant: Generic stem key 2 for Wear */

    770    public static final int KEYCODE_STEM_2 = 266;

    771    /** Key code constant: Generic stem key 3 for Wear */

    772    public static final int KEYCODE_STEM_3 = 267;

    773    /** Key code constant: Directional Pad Up-Left */

    774    public static final int KEYCODE_DPAD_UP_LEFT    = 268;

    775    /** Key code constant: Directional Pad Down-Left */

    776    public static final int KEYCODE_DPAD_DOWN_LEFT  = 269;

    777    /** Key code constant: Directional Pad Up-Right */

    778    public static final int KEYCODE_DPAD_UP_RIGHT   = 270;

    779    /** Key code constant: Directional Pad Down-Right */

    780    public static final int KEYCODE_DPAD_DOWN_RIGHT = 271;

    781    /** Key code constant: Skip forward media key. */

    782    public static final int KEYCODE_MEDIA_SKIP_FORWARD = 272;

    783    /** Key code constant: Skip backward media key. */

    784    public static final int KEYCODE_MEDIA_SKIP_BACKWARD = 273;

    785    /** Key code constant: Step forward media key.

    786     * Steps media forward, one frame at a time. */

    787    public static final int KEYCODE_MEDIA_STEP_FORWARD = 274;

    788    /** Key code constant: Step backward media key.

    789     * Steps media backward, one frame at a time. */

    790    public static final int KEYCODE_MEDIA_STEP_BACKWARD = 275;

    791    /** Key code constant: put device to sleep unless a wakelock is held. */

    792    public static final int KEYCODE_SOFT_SLEEP = 276;

    793    /** Key code constant: Cut key. */

    794    public static final int KEYCODE_CUT = 277;

    795    /** Key code constant: Copy key. */

    796    public static final int KEYCODE_COPY = 278;

    797    /** Key code constant: Paste key. */

    798    public static final int KEYCODE_PASTE = 279;

    799    /** Key code constant: Consumed by the system for navigation up */

    800    public static final int KEYCODE_SYSTEM_NAVIGATION_UP = 280;

    801    /** Key code constant: Consumed by the system for navigation down */

    802    public static final int KEYCODE_SYSTEM_NAVIGATION_DOWN = 281;

    803    /** Key code constant: Consumed by the system for navigation left*/

    804    public static final int KEYCODE_SYSTEM_NAVIGATION_LEFT = 282;

    805    /** Key code constant: Consumed by the system for navigation right */

    806    public static final int KEYCODE_SYSTEM_NAVIGATION_RIGHT = 283;

    807    /** Key code constant: Show all apps

    808     * @hide */

    809    public static final int KEYCODE_ALL_APPS = 284;

     


    本期投稿:朱大师

    本期编辑:源妹

    参考资料:https://digital-forensics.sans.org/media/DFIR-Smartphone-Forensics-Poster.pdf

     

    技术干货,在线浏览

    效率源在线技术干货来啦!效率源微信公众号定期精选近年最新最实用的技术文章30篇,内容涵盖手机千亿国际平台、数据库千亿国际平台、网络千亿国际平台、Windows千亿国际平台、AI视频真假鉴别等一系列电子数据千亿国际平台实战知识,欢迎查阅!

     

    获取途径:

    1、关注效率源公众号,点击效率源公众号上菜单栏【关于我们】,选择【精选干货】即可进入技术盛宴。

    2、进入页面,效率源精选技术干货统统都在这里啦。

     

     

    【推荐阅读】

    【技术视界】lvm raid 数据如何恢复?

    【技术视界】Microsoft文档文件损坏,怎么修复?

    【技术视界】巧用文件雕复方法恢复删除的数据库文件

    【免费工具】支持100+监控厂商,兼容500余种视频格式,这款万能播放器免费啦!

    【技术视界】针对类TrueCrypt——虚拟磁盘加密容器文件删除恢复方法

    【技术视界】Windows千亿国际平台分析基础知识大全,赶快收藏!