如何从服务中获取Activity



我需要在不同的活动中进行软推送,但在同一个应用程序中。

我决定在其他应用程序之上显示应用程序。为了创建浮动小部件,我从这里复制了代码。

现在我要做的就是点击。为此,我创建了这样一个方法:

void simulateEventDown (Activity yourActivity, float x, float y)
{
// Press
MotionEvent e = MotionEvent.obtain (SystemClock.uptimeMillis (), SystemClock.uptimeMillis (),
MotionEvent.ACTION_DOWN, x, y, 0);
yourActivity.dispatchTouchEvent (e);
// Release here
MotionEvent e2 = MotionEvent.obtain (SystemClock.uptimeMillis (), SystemClock.uptimeMillis (),
MotionEvent.ACTION_UP, x, y, 0);
yourActivity.dispatchTouchEvent (e2);
}

它接受Activity,但是Service不包含Activity,这看起来很奇怪。我是Android和Java的新手,所以欢迎任何建议!也许你们中有人遇到过这个问题,或者有另一个解决这个问题的方法,分享,我很高兴每一个评论

注:我无法访问必须单击的活动(这是一个库)。


我发现,除了活动,这可以与视图,只有这样,点击将只发生在这个视图

尝试对任何活动使用绑定服务机制。你可以根据你当前打开的活动

阅读https://developer.android.com/guide/components/bound-services

另一种方法,你可以使用广播接收器从服务到活动,你可以更新你的视图通过发送intent与你想要的数据

最新更新