服务内部的Android访问活动方法

服务内部的Android访问活动方法,android,android-activity,Android,Android Activity,如何从服务onStart()内部调用活动的非静态方法 如何从服务onStart()内部调用活动的非静态方法 你不能 但是,让服务与正在运行的活动进行通信有很多方法,我在这里概述了其中的一些方法:可能会有所帮助 在活动中定义 static MyActivity instance; 然后设置值MyActivity.OnCreate instance = this; 为您效劳 MyActivity activity = MyActivity.instance; if (activ

如何从服务onStart()内部调用活动的非静态方法

如何从服务onStart()内部调用活动的非静态方法

你不能

但是,让服务与正在运行的活动进行通信有很多方法,我在这里概述了其中的一些方法:

可能会有所帮助

在活动中定义

static MyActivity instance;
然后设置值MyActivity.OnCreate

instance = this;
为您效劳

MyActivity activity = MyActivity.instance;

        if (activity != null) {
            // we are calling here activity's method

        }

检查此链接。我知道这是一篇老文章,但我有一个问题,我需要在一个服务中开始活动,并获得该活动的结果。这可能吗?有什么解决办法吗?@saber:“这可能吗?”——是的,不过我建议你有好的人寿保险,如果你会在后台弹出用户不喜欢的活动。您的服务可以调用
startActivity()
。然后,您的活动可以调用
startService()
发送结果,或者调用
bindService()
并通过活页夹与您的服务对话,或者使用事件总线实现(
LocalBroadcastManager
、greenrobot的事件总线、Square的Otto)来引发服务拾取的事件。感谢您的回复,“虽然我建议你有好的人寿保险”,:D;)因为我没有好的人寿保险,我想我必须和
LocalBroadcastManager
联系。不,上帝。不,上帝,求你了,不!不!永远不要那样做。永远不要。永远不要保留你的
活动的静态实例。