Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从另一个线程调用活动的方法_Android_Android Activity_Intentservice - Fatal编程技术网

Android 从另一个线程调用活动的方法

Android 从另一个线程调用活动的方法,android,android-activity,intentservice,Android,Android Activity,Intentservice,我是android新手。在我的应用程序中,有一些包含ListView/ExpandableListView的活动,这些活动是通过相关游标填充的。我还有一个intentservice,它将我的应用程序数据库与网络上的服务器同步 我想从服务调用当前前台活动的一个方法,该方法将更新列表视图。如果我的应用程序没有运行,它自然不应该调用该方法,因为默认情况下,列表将在下次启动应用程序时显示更新的数据 我的问题是, 我如何知道我的应用程序是否正在运行 如果我的应用正在运行,如何获取当前的前台活动 如果我的活

我是android新手。在我的应用程序中,有一些包含ListView/ExpandableListView的活动,这些活动是通过相关游标填充的。我还有一个intentservice,它将我的应用程序数据库与网络上的服务器同步

我想从服务调用当前前台活动的一个方法,该方法将更新列表视图。如果我的应用程序没有运行,它自然不应该调用该方法,因为默认情况下,列表将在下次启动应用程序时显示更新的数据

我的问题是,

  • 我如何知道我的应用程序是否正在运行
  • 如果我的应用正在运行,如何获取当前的前台活动
  • 如果我的活动正在运行,如何调用该方法

  • 提前感谢:)

    您可以知道应用程序是否使用onResume、onStop、onCreate等功能运行。。。 这些功能正是你想要的。。。 设置新的布尔变量“playing”, 在onCreate中,将值设置为true。 在onResume上也设置它,在onStop上设置为false。 而不是当你需要检查它是否正确。 请看这里:

    对于其他问题,您可以在活动和服务之间使用brodcastReceiver并发送brodcast。 看问题和答案。 您还可以查看本教程: 我是stackoverflow的新手,告诉我我做错了什么。。。
    我希望我能帮忙!好运

    库针对此类任务进行了优化,它简化了组件之间的通信

    在活动中使用BroadcastReceiver。因此,您可以从服务发送广播,如果某个活动位于前台,它将捕获该广播。