做电影网站什么系统好,百度网站建设前期都有哪些费用,阿里云9元做网站,asp.net 4.0网站开发与项目实战(全程实录)(附光盘)DroidVNC-NG支持控制端输入内容#xff0c;但是仅支持英文字符#xff0c;如果需要控制输入法软键盘输入中文的话就没办法了#xff0c;经过摸索找到了解决办法。
这个解决办法有个条件就是让DroidVNC-NG成为系统级应用#xff08;这个条件比较苛刻#xff09;#xff…DroidVNC-NG支持控制端输入内容但是仅支持英文字符如果需要控制输入法软键盘输入中文的话就没办法了经过摸索找到了解决办法。
这个解决办法有个条件就是让DroidVNC-NG成为系统级应用这个条件比较苛刻所幸现在用的安卓系统有源代码并且是自己编译的可以拿到系统签名文件。
方法简述
一、Manifest.xml文件中添加两条
1.application中添加
android:sharedUserIdandroid.uid.system
2.添加权限 uses-permission android:nameandroid.permission.INJECT_EVENTS/
二、InputService.java中打补丁
1.添加模拟按键函数 /*函数功能模拟输入输入参数KeyCode要模拟的键值shiftOn是否按下shift键*/public static void typeIn( final int KeyCode ,final int shiftOn){try {Instrumentation inst new Instrumentation();if(shiftOn0) {inst.sendKeyDownUpSync(KeyCode);}else{long downTime SystemClock.uptimeMillis();long eventTime downTime;inst.sendKeySync(new KeyEvent(downTime,eventTime,KeyEvent.ACTION_DOWN,KeyCode ,0, KeyEvent.META_SHIFT_ON));inst.sendKeySync(new KeyEvent(downTime,eventTime,KeyEvent.ACTION_UP, KeyCode,0, KeyEvent.META_SHIFT_ON));}Log.d(TAG, simulate key in: key KeyCode);} catch (Exception e) {Log.e(Exception when sendKeySync, e.toString());}}
2.在现有的onKeyEvent函数中添加判断代码 public static void onKeyEvent(int down, long keysym, long client) {//以上是原有代码...if(keysym 0xff08 down ! 0){ //后退替换原有的后退键处理代码int keycode 67;typeIn(keycode,0);}/*ISO-8859-1 input*/if (keysym 32 keysym 255 down ! 0) {//以下处理自己需要的按键操作空格、字符a-z、数字0-9等int keycode Integer.parseInt(String.valueOf(keysym));boolean bSimKeyfalse;if(keycode32){//空格keycode62;bSimKeytrue;}else if(keycode97 keycode122) { //a-zkeycode keycode - 68;bSimKeytrue;}else if (keycode48 keycode57){ //0-9keycode keycode - 41;bSimKeytrue;}if(bSimKey) {typeIn(keycode,0);}else {//以下是原有代码//...}
三、用系统签名文件生成签名的apk文件安装、配置后即可正常使用受控端的中英文输入了和在本地使用没什么区别。