目标:
远程控制Android设备。我正在尝试为无法在Android手机或平板电脑上使用触摸屏或小型滑出式键盘的残障人士制作备用输入设备。我需要能够控制整个Android设备 - 发送键盘,如KEYCODE_DPAD_DOWN等。将使用操纵杆或其他输入设备,理想情况下,命令将通过蓝牙发送到设备。
这就是我现在的位置:
我可以通过Monkeyrunner发送这些击键来控制一个活动设备(感谢您的帮助,Roman R.!)。问题是,这需要将计算机连接到设备并配置为对其进行编程。我想完全从系统中删除计算机,并允许个人对其Android设备进行完全(远程)控制。也许通过在后台运行的应用或服务,处理蓝牙交换并产生相应的关键事件。
到目前为止我的研究:
可以发送KeyEvents,但这似乎只允许与您自己的应用程序进行交互 - 例如,将文本输入EditText框。 (link)
也可以(据我所知)在设备上捕获物理键事件并执行一些操作以响应该事件。
最后,看起来谷歌确切地知道我正在尝试做什么,但出于安全原因而不允许它。 (link - 在页面底部有人链接到this博客,其中声明不允许这样做。)
我知道实现这样的事情可能存在安全问题,但该项目的整个目标是让用户完全(远程)控制Android系统。显然,有必要明确要求用户授权此控件。这种控制已经可用,他们称之为Device Administration。这允许应用程序控制系统的非常密切的部分,并且正确地需要明确的授权。这个遥控系统也不例外。
在我的情况下,它将用于帮助身体残疾的姐姐。您可以使用它来创建飞行控制系统或其他类似游戏手柄的控制器。实现这种接口有很多理由。
最后,谷歌正在不断更新Android,上面的博客条目指出这是不可能的,已经超过两年了。从那以后,很多事都发生了变化......
有谁知道怎么做?如果还没有完成,您是否知道如何正式请求将新功能添加到Android系统中,以便在以后的版本中允许它?
谢谢!
答案 0 :(得分:2)
嗨glenn我很感激你的想法。
设备管理也可以远程完成,因为你说它可以访问系统级别,不幸的是它只能访问很少的系统级功能,如擦除设备,锁定和应用程序的其他密码设置。但远程控制,不,我不认为设备管理有帮助。
我认为使用控制设备的USB配件。看看这个
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en553673
以下链接(软件支持)对入门非常有帮助
http://ww1.microchip.com/downloads/en/DeviceDoc/Android%20Library%20Help.pdf
他们还有一个配件开发套件......希望它可以帮到你。