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

最近玩一些全键盘游戏,比如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 Gradle 插件】自定义 Gradle 插件优化图片 ① ( Android 中的 WebP 图片格式使用 | WebP 格式转换 | WebP 参考文档 )

    文章目录 一.Android 中的 WebP 图片格式使用 二.WebP 格式转换 三.WebP 参考文档 Android Plugin DSL Reference 参考文档 : Android St ...

  2. Android中导航栏之自定义导航布局

    Toolbar系列文章导航 Android中导航栏之Toolbar的使用 Android中导航栏之溢出菜单OverflowMenu Android中导航栏之搜索框SearchView Android中 ...

  3. 【Android 安装包优化】Android 中使用 SVG 图片 ( Android 5.0 以下的矢量图方案 | 矢量图生成为 PNG 图片 )

    文章目录 一.Android 5.0 以下的矢量图方案 二.矢量图生成为 PNG 图片 三.完整的 build.gradle 构建脚本 四.编译效果 五.参考资料 一.Android 5.0 以下的矢 ...

  4. 【Android 安装包优化】WebP 图片格式兼容与性能 ( Android 中的 WebP 图片格式兼容问题 | Android 中的 WebP 图片格式性能 )

    文章目录 一.Android 中的 WebP 图片格式兼容问题 二.Android 中的 WebP 图片格式性能 三.参考资料 一.Android 中的 WebP 图片格式兼容问题 在 Android ...

  5. Android中如何根据图片url路径来获取网络图片

    原文地址:Android中如何根据图片url路径来获取网络图片 1.根据图片的URL路径来获取网络图片,核心代码如下: public static Bitmap getBitmap(String pa ...

  6. android中如何显示图片的一部分

    android中如何显示图片的一部分 分类: Android应用开发系列教程 Android应用开发技巧 2012-04-25 23:42 1728人阅读 评论(0) 收藏 举报 androidmat ...

  7. 怎样在android中添加背景图片?

    怎样在android中添加背景图片? 1.打开左侧的工程文件夹.打开res中的layout,双击main.xml. 2.一般的图片是jpg格式的,要把格式转化为png格式的. 3.把PNG格式的图片拖 ...

  8. android中图片圆角,Android中实现圆角图片的几种方法

    Android中实现圆角图片有多种姿势,不知你解锁了几种? 方法一:setXfermode法 此种方式就是再new一个相同尺寸的bitmap,然后使用paint.setXfermode(new Por ...

  9. java线程画动图闪,Android中利用画图类和线程画出闪烁的心形,android心形,package com....

    Android中利用画图类和线程画出闪烁的心形,android心形,package com.package com.tt.view;import android.content.Context;imp ...

最新文章

  1. 我的WEB之路(一)-2.JAVA学习路线
  2. 验证数字的正则表达式集
  3. word2vec训练词向量 python_使用Gensim word2vector训练词向量
  4. 【操作系统】进程调度的不同层次
  5. 不规则对话框的又一实现
  6. 微信开发——带参数二维码的使用
  7. 熊猫烧香病毒是计算机病毒,“熊猫烧香”计算机病毒大案告破
  8. 开源项目管理软件产品对比分析资料整理
  9. 数据包络分析CCR、BCC模型
  10. Unity 使用Excel 读取文件 所碰到的坑 使用Excel.dll读取
  11. 虚拟机01--Mac安装Centos虚拟机
  12. Redis 集群可用性测试
  13. 京东拟申请在北京南六环试点:用无人机送快递
  14. 安卓手机用AidLux安装Linux免Root,安装到Debian 10不能安装docker
  15. 1-Unity是什么
  16. 订单除了快递、达达同城以外,可设置到店自取
  17. 1348:【例4-9】城市公交网建设问题
  18. 拉基米德米表系统源码含简易后台
  19. 9、法律法规与标准化知识
  20. [python]matplotlib.pyplot模块

热门文章

  1. 2 s锁是什么_《演员请就位》:一场戏拿了2张S卡,任敏凭什么打败老戏骨?
  2. AVR单片机计算器C语言源程序,一个基于AVR单片机的计算器程序.doc
  3. php什么程度算学会,十天学会PHP - 序1,学会的标准是什么?(20180820-1)
  4. 炒菜机器人放食材的顺序_珠江新城有了首家机器人餐厅,40多台机器人提供服务...
  5. @Autowired注解能用在static属性吗?autowired注入static属性上为null
  6. extjs 渲染之前的方法_Unity通用渲染管线(URP)系列(十一)——后处理(Bloom)...
  7. java apt怎么用_java – APT和AOP在同一个项目中,使用Maven
  8. apache2 php mysql_二、Linux服务器apache2+PHP7+mysql环境配置
  9. facebook对话链接_Facebook已开源其最新的聊天机器人Blender
  10. Android日志[进阶篇]四-获取错误报告