我有一个IntentService,每小时刷新一次来自服务器的数据(没有推送通知)。如果有任何新数据,它应该在应用程序内部更新界面,或者当我的应用程序不在前台时发送通知。 我的问题是:如果我的应用程序在前台运行,如何确定哪个应用程序在前台运行或更容易? 我不需要知道什么活动只是我的应用程序的一般包名完全没问题!
到目前为止,我发现的两件事我反对使用:
我有点困惑,为什么我无法找到解决方案......我认为这不是一种不寻常的做法或其他什么。
谢谢!
答案 0 :(得分:1)
您可以通过简单的方式解决您的问题,但这可以通过您自己的包裹和服务来实现
1:在你的主Activity中定义布尔变量
2:在主活动的onCreate方法中将变量值更改为true
3:在Ondestroy metheo中将其改为false
public class MainActivity extends AppCompatActivity {
public static boolean appStatus = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
appStatus = true;//fill the variable true : app is running
setContentView(R.layout.activity_main);
}
@Override
protected void onDestroy() {
super.onDestroy();//fill the variable false : app is not running
appStatus = false;
}
}
4:在您的服务中,您可以随时随地查看
if(MainActivity.appStatus )
{
......yourCode
}