我想编写一个可以在手机上以编程方式生成触摸事件的应用程序。
我已经尝试过这种方法:
adb ON TCPIP:同样的 我对adb的问题是需要用户进行如此多的预设,而我并不想让用户学习它。我已经创建了一个使用adb的应用程序,但用户很难正确设置:(
我听说过,我试图用平台标志签署我的应用程序,但它对我不好,因为我想在Android市场上发布我的应用程序而且它不是系统应用程序。 ..
我想找到一种在单个应用程序中实现此功能的方法,该应用程序可以在应用程序之外(从后台)产生触摸,我想在市场上发布。
我找到了这个应用程序:https://play.google.com/store/apps/details?id=com.teamviewer.quicksupport.samsung基本上可以做到这一点。因为当我点击我的电脑时,它会向手机发送信息并且手机会在屏幕上触摸。团队访问者如何以及拥有什么特权呢?
请给我一些建议。
答案 0 :(得分:1)
我想找到一种在单个应用程序中实现此功能的方法,该应用程序可以在应用程序之外(从后台)产生触摸,我想在市场上发布。
除了可访问性服务可以完成的小输入伪装之外,这是不可能的。
团队观察员如何以及拥有哪些特权?
如果您阅读Play商店列表,您会发现它仅适用于三星设备。这是因为TeamViewer的制造商与三星达成协议以实现这种集成。同样,TeamViewer团队与其他一些设备制造商达成了协议。但是,他们没有与所有制造商合作,因此TeamViewer无法在所有设备上运行。
答案 1 :(得分:0)
在这里看看。这可能很有用。
InputInjector Android库可简化向您的Android应用程序注入InputEvents(MotionEvent,KeyEvent)的过程。该库使用内部API调用来注入事件,并取决于事件的可访问性。因此,该库将无法在所有设备上运行,但理论上支持Android 2.3及更高版本(API级别9-18 +)。
在旧版Android中,我们调用了与Instrumentation框架所使用的系统调用相同的系统调用。
权限无需设置特殊权限。从API级别16开始,我们可以访问InputManager类。我们以此为基础进行输入注入。
权限使用InputManager进行注入需要在清单中设置权限android.permission.INJECT_EVENTS。使用此权限可能需要更改Lint Error Checking才能进行编译。在Eclipse中,这是通过转到Window-> Preferences-> Android-> Lint错误检查,然后找到ProtectedPermissions并将严重性设置为错误以外的其他方式来完成的。
注意:为了使用InputManager向其他应用注入事件,您的apk必须使用系统级证书签名。