当前位置: 代码迷 >> Android >> 推送以后判断程序是否打开,没打开中就打开
  详细解决方案

推送以后判断程序是否打开,没打开中就打开

热度:53   发布时间:2016-04-28 01:02:33.0
推送之后判断程序是否打开,没打开中就打开
点开推送信息后打开的是一个该项目指定的一个Activity
关闭这个Activity的时候,我需要判断主程序是否处于启动中,如果启动中这弹回主程序,如果没启动这打开主程序

private boolean isBackgroundRunning() {
String processName = "ahky.logistics.MobileLogistics.login";

ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
KeyguardManager keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);

if (activityManager == null) return false;
// get running application processes
List<ActivityManager.RunningAppProcessInfo> processList = activityManager.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo process : processList)
{
if (process.processName.startsWith(processName))
{
return true;

}
}

return false;
}

我用这种方法解决不了,因为打开这个指定的页面也是主程序的一部分,所以这个方法返回的永远都是true



------解决思路----------------------
不懂你说的主程序是什么意思,判断你的主Activity有没有被销毁吧。在主Activity的onCreate里设置mXXActivity = this,在它的onDestroy里设置mXXActivity = null;在点击push消息的回调中判断mXXActivity是否为null
------解决思路----------------------
不知道你打开软件的时候初始化是怎么操作的。
不过你可以在已经打开了应用的时候进行一个标识!
------解决思路----------------------
。。。明显是通过serverice去搞的,,,
  相关解决方案