uiautomator解决设置中文问题

我们知道通过uiautomator中UiObject.setText(),可以用来设置文本,可是不知什么缘故Google设计的这个方法只能接收ASCII码,因此直接调用这个方法设置中文当然会错,为此有人专门写了输入法utf7ime专门用来解决这个问题,它是开源的,我们可以在github下载到它的源码https://github.com/sumio/uiautomator-unicode-input-helper

    下面我们来一步步实现uiautomator支持中文

    1.下载完源码解压,如下图

    

    2.在我们刚才解压的Utf7Ime文件中有个Utf7ImeService.java,以及jutf7-1.0.0.jar文件找出来,接下创建一个Android应用程序,将刚才找到的jar包添加到自己的工程,Utf7ImeService.java 这类添加到自己的程序中,它是一个服务,保证运行程序时启动这个服务,最后就可以将这个程序安装到自己的手机中了。

    3.uiautomator工程中添加jutf7-1.0.0.jar文件,在解压的helper-library文件中有个Utf7ImeHelper.java文件,将它放到自己uiautomator工程中,最后调用一下Utf7ImeHelper的方法装换一下编码就ok,如下图:

     

   值得注意的是在调用Utf7ImeHelper.e()方法之前,你要将2中的应用在手机上先设置成默认输入法,当然你也可用adb命令设置默认的输入法。

   还有就是Utf7ImeHelper中的harsetEncoder是jutf7-1.0.0.jar中的,别导错包。

   这样uiautomator就可以设置中文了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值