gpt4 book ai didi

java - 将滚动事件发送到另一个应用程序

转载 作者:行者123 更新时间:2023-12-02 12:16:09 26 4
gpt4 key购买 nike

我认为这个问题有点疯狂,我基本上想将滚动事件从我的应用程序发送到另一个应用程序(例如chrome)。所以基本上,如果 chrome 打开并且当用户按下音量向上或向下按钮时,我的后台 Activity 会监听该按钮事件,如果它是向上事件,那么它将向上或向下滚动 chrome 打开的网页。我不确定这是否可能,因为我正在阅读谷歌的一些文档,它们都说我们需要 root 权限才能将事件从一个应用程序发送到另一个应用程序。我还没有任何代码。那么有人知道这可以通过 android api 实现吗?

谢谢

最佳答案

我无法在 chrome 环境中回答。但是,您基本上可以序列化您需要的内容,并通过 Intent 系统将其发送到另一个应用程序。

例如,在您的第一个应用程序中,您收到触摸事件

boolean onTouch(MotionEvent event){
if(event.getActionMasked() == MotionEvent.ACTION_UP){
Intent startOtherApplication = new Intent();
startOtherApplication.putExtra("ACTION_UP_X",event.getX());
startOtherApplication.putExtra("ACTION_UP_Y",event.getY());
startOtherApplication.setComponent(new ComponentName("com.your.other.application", "com.your.other.application.ActivityYouWantToHandleTouch"));
startActivity(intent);
}
}

然后,您可以在其他应用程序的 Activity (ActivityYouWantToHandleTouch) 中提取 Intent 。

public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Intent fetchedIntent = getIntent();
boolean hasUpAction = false;
int x = 0;
int y = 0;
if(fetchedIntent != null){
hasUpAction = (fetchedIntent.getExtra("ACTION_UP_X")!=null);
x = fetchedIntent.getExtra("ACTION_UP_X");
y = fetchedIntent.getExtra("ACTION_UP_Y");

}
}

关于java - 将滚动事件发送到另一个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46167386/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com