我正在运行我的Android应用程序。
我想仅在应用不可见时启用推送通知
(关闭或在后台)。
我看过这段代码:
ActivityManager activityManager = (ActivityManager) this.getSystemService( ACTIVITY_SERVICE );
List<RunningAppProcessInfo> procInfos = actvityManager.getRunningAppProcesses();
for(int i = 0; i < procInfos.size(); i++){
if(procInfos.get(i).processName.equals("com.android.browser")) {
Toast.makeText(getApplicationContext(), "Browser is running", Toast.LENGTH_LONG).show();
}
}
用于检查浏览器是否已打开,
但是我不能检查过程是否开启,
它可以正在运行,但此刻不可见,
我希望在这种情况下显示的通知与它何时可见相反。
答案 0 :(得分:1)
在这种情况下您可以遵循的方法是:
发布发布通知的服务。和onStart()
或onResume()
,停止服务并onPause()
或onStop()
,再次启动服务。
答案 1 :(得分:1)
查看此答案:https://stackoverflow.com/a/12675356/3432809 - 但请注意警告
其他选项是在共享位置(例如,Application对象)中跟踪您的活动,以便每个onResume()调用设置一个活动正在运行的标志,并且onPause()清除该标志。