我正在开发一款Android应用。
我有一个定期运行的服务,从Web服务中获取一些数字。
提取完成后,结果将写入首选项。当用户启动应用程序时,将显示其主要活动。在onResume中,数字从首选项中检索,并显示在活动中。到目前为止,我很好。
我不知道如何实现的是,如果在计划的提取完成时活动位于顶部,则应通知活动。同时,如果活动不在顶部,则不应该启动,只需将数字写入首选项即可。
我该如何实现?有什么想法吗?
谢谢!
PS:现在我输入了所有这些内容,我有一个想法:活动是否应该在onResume中绑定到此服务并在onPause中取消绑定?答案 0 :(得分:0)
您可以使用以下代码了解哪个应用程序位于顶部:
ActivityManager actvityManager = (ActivityManager) ClassName.this.getSystemService(ACTIVITY_SERVICE);
List<RunningTaskInfo> procInfos = actvityManager.getRunningTasks(1000);
String topApp = procInfos.get(0).topActivity.getClassName().toString();
if(!topApp .contains("com.yourpackage"){
//DO WHATEVER YOU WANT
}
else{
//DO WHATEVER YOU WANT}