该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

最近玩一些全键盘游戏,比如elona,nethack等等这类游戏,模拟器的键盘就很不够用,那个 游戏键盘 软件用起来体验也很不好,今天自己就琢磨着为这些游戏专门写一个键盘.

1.首先尝试了写一个简单的键盘,发现无法实现跨进程用(也就是说只能在自己编写的软件中使用)

这个问题是重点,就算在本应用写了个悬浮窗,浮在其他应用上面,但按钮输入的物理按键事件(A,B,shift等按键)必须要有系统应用权限才能收到,所以,这个方法没法实现

附:发送物理按键事件的代码

Instrumentation inst =new Instrumentation();

inst.sendKeyDownUpSync(KeyEvent.KEYCODE_A) //发送A按键的事件(注:需要在子线程中执行,当然,我觉得可能没几个人会看我这个教程)

2.既然没法实现跨进程,那就换种思路,我就干脆不跨进程了

3.怎么才能不跨进程,那就是把Exagear和自己写的键盘放在同一个进程里运行,有了这个思路就好办了

首先在清单文件中的父标签中添加android:sharedUserId="com.xxx.xxx"

然后用反编译工具(这里推荐APK编辑器),找到Exagear的清单文件,将上面代码也添加到其中

之后在自己的键盘和Exagear清单文件中的application标签中添加android:process="com.xxx.xxx"

这样就把他们放在同一个进程中了.经过测试,已经可以实现键盘输入了.

4.这其中设计到几个麻烦的问题,第一个就是签名问题,因为设置了android:sharedUserId,他们的签名必须一致,这里就需要创建一个文件,在APK编辑器中设置好打包的签名,自己软件打包时也要使用该签名才行

5.最后就是编辑专用软键盘布局的时候了,已经做到这种程度了,那键盘想成为什么样就完全随心所欲了

(要将键盘写成悬浮窗,从服务中启动,之后因为和Exagear运行在同一个进程里,只要Exagear不被杀死,键盘就一直存在)

6.专属键盘还有一个好处就是不影响本身键盘的使用,因为我经常需要玩游戏的时候切到QQ聊天,如果用 游戏键盘

我还需要把键盘切换成输入法才行,很不爽啊

注:等我把键盘写好了再放图

android 键盘 输入图片,【图片】自定义属于自己的专属键盘的思路!!!(需要有android编程基础)【exagear吧】_百度贴吧...相关推荐

  1. android 中自定义键盘,【图片】自定义属于自己的专属键盘的思路!!!(需要有android编程基础)【exagear吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 最近玩一些全键盘游戏,比如elona,nethack等等这类游戏,模拟器的键盘就很不够用,那个 游戏键盘 软件用起来体验也很不好,今天自己就琢磨着为这些游 ...

  2. android 修改系统键盘布局,【图片】自定义属于自己的专属键盘的思路!!!(需要有android编程基础)【exagear吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 最近玩一些全键盘游戏,比如elona,nethack等等这类游戏,模拟器的键盘就很不够用,那个 游戏键盘 软件用起来体验也很不好,今天自己就琢磨着为这些游 ...

  3. java三个数排序从小到大,键盘输入三个数,实现从小到大排序,键盘输入从小到大...

    键盘输入三个数,实现从小到大排序,键盘输入从小到大 // 导包 import java.util.Scanner; public class Sort { public static void mai ...

  4. linux中用参数代替键盘输入,linux shell在while中用read从键盘输入的实现

    系统是ubuntu 14.04 64bit,之前曾想安装stream来玩dota2,但最终没成功.由于stream只有32bit,安装stream时也安装了大量32bit的库.删除stream后,这些 ...

  5. python接收键盘输入的值_Python代码中如何读取键盘录入的值

    读取键盘输入 Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.如下: raw_input input raw_input函数 raw_input([prompt]) 函数从 ...

  6. python获取键盘输入_python之判断数据异常Python读取键盘输入

    Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.如下: <python之判断数据异常Python读取键盘输入>总结了关于python网站教程,对于我们来www. ...

  7. android手机rom简单制作教程,【图片】ROM助手:任意安卓机型的ROM制作教程【a298t吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 很多机友都在求精简系统,求ROOT等等.... 但不会怎么办? 我来告诉大家一个完美无缺的办法! 授人以鱼 不如授人以渔...... ========== ...

  8. java清屏_【图片】请问java编写中如何做到清屏啊。。。_java吧_百度贴吧

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /** 系统登陆.要求使用初始化参数的方式输入用户名和密码.在程序运行之前先判断输入的参数个数是否合法.如果不合法, 则提醒用户的程序执行不,并退出程序. ...

  9. java 清屏_【图片】请问java编写中如何做到清屏啊。。。_java吧_百度贴吧

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /** 系统登陆.要求使用初始化参数的方式输入用户名和密码.在程序运行之前先判断输入的参数个数是否合法.如果不合法, 则提醒用户的程序执行不,并退出程序. ...

最新文章

  1. 基于Grafana+SimpleJson的灵活报表解决方案
  2. 【数据挖掘实例】构建Xgboost模型,在电力用户的95598工单数据中的电费敏感用户预测(高敏用户模型)
  3. 运行在Docker里的SpringBoot应用,如何查看记录在文件系统的日志
  4. 阿里云物联网 .NET Core 客户端 | CZGL.AliIoTClient:4. 设备上报属性
  5. mysql load average_紧急求助:load average太高了!!
  6. Linux中的文件权限
  7. RK3288_Android7.1调试RTC总结(二)
  8. 理解Heap Profling名词-Shallow和Retained Sizes
  9. RFID技术如何管理图书馆
  10. 【毕业设计】基于大数据的抖音短视频数据分析与可视化 - python 大数据 可视化
  11. 最适合菜鸟的汉诺塔讲解
  12. C++ stack的使用及模拟实现
  13. python 天气雷达质量控制_天气雷达原理
  14. DOTA2怎么清除缓存_第36期 只要一招:彻底重置Windows图标缓存
  15. dfs深度优先搜索问题
  16. 如何查看主机IP地址
  17. 三、入门Python第三课
  18. springboot+elasticsearch+bboss框架集成遇到的坑
  19. 如何在注册表中删除用户帐户信息。
  20. 数据库多维度order by 排序分析

热门文章

  1. PRICAI 2016 论文精选 | 基于稀松K-SVD算法的自发性微表情识别
  2. 有关PMP考试成绩如何查询
  3. java定义猴子类的题_【视频+图文】Java经典基础练习题(六):猴子吃桃子问题...
  4. 【Linux】一步一步学Linux——uniq命令(54)
  5. request.getSession.setAttribute和request.setAttribute区别
  6. 程序员下班去超市购物与收银员的一段搞笑对白
  7. Android开发下拉关闭图片
  8. 论文上传arXiv步骤
  9. java计算机毕业设计中小学家校通系统源码+mysql数据库+系统+部署+lw文档
  10. 傅里叶变换、离散时间傅里叶变换和离散傅里叶变换