小虾米资讯

AD1
当前位置:网站首页 / android / 正文

android:自定义属于自己的专属键盘的思路!!!(需要有android编程基础)

2021-05-13 01:28:56 / 我要吐槽 查看是否已被百度收录 查看是否已被谷歌收录 查看是否已被搜狗收录 查看是否已被360收录
AD2
最近玩一些全键盘游戏,比如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聊天,如果用 游戏键盘 我还需要把键盘切换成输入法才行,很不爽啊注:等我把键盘写好了再放图

嗯嗯前排

膜拜大神,最好是不用root,本人小白。这样可以随时玩游戏比较方便

那你写个出来呗

一直想有这个想法,就是我没那技术,支持下,修改版的模拟器都是用的公用签名,可以想办法把模拟器和你的键盘整合成一个软件

有个可以添加按键,自由拖动的编辑模式就好了,最好可能保存几套模式,有个按键可以在全键盘和游戏样式键盘间切换

先上几张图,最后一张就是和游戏键盘一起存在的

很强势

滋磁

可以

我想试试,但是我手机玩模拟器闪退,而且我没用过apk编辑器

我尝试用apk编辑器反编译自己的软件,为啥只能看到布局和smali,第一次用,求教,不能看到JAVA吗

洗东西给你看又何用?无非注册显示的JAVA,设置权限,更换头像……还能干嘛

进度:因之前没研究过键盘输入事件,今天暂时只把各种按键事件搞清楚了,像shift,ctrl等,之后利用业余时间慢慢完善

Powered By © 小虾米资讯 2015

(本站部分文章来源于网络或网友爆料,不代表本站观点,如有侵权请联系及时删除 )