我正在尝试使用服务模拟我的应用外部的一组点击,但我无法执行点击。
目前我使用的是这个示例项目:ChatHeads。所以基本上我服务初始化以下视图:
public class HeadLayer extends View {
private Context mContext;
private FrameLayout mFrameLayout;
private WindowManager mWindowManager;
public HeadLayer(Context context) {
super(context);
mContext = context;
mFrameLayout = new FrameLayout(mContext);
addToWindowManager();
}
private void addToWindowManager() {
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.LEFT;
mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
mWindowManager.addView(mFrameLayout, params);
LayoutInflater layoutInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// Here is the place where you can inject whatever layout you want.
layoutInflater.inflate(R.layout.head, mFrameLayout);
}
/**
* Removes the view from window manager.
*/
public void destroy() {
mWindowManager.removeView(mFrameLayout);
}
}
我想要实现的目标:用户打开服务后,我想在背景内容上执行一组具有特定坐标(X,Y)的点击。
示例: 我手动打开一个随机应用,让我们说Play商店,然后我希望我的服务执行一组点击(坐标为x / y)打开的应用程序。例如,执行点击屏幕上的坐标123/453女巫匹配链接“游戏”。在此之后,我使用新的坐标对执行另一次单击,依此类推。
如何执行这些点击?