在推送通知中显示活动/弹出窗口,而不是状态栏中的消息

时间:2014-09-12 10:53:57

标签: android push-notification

我是一个Android新手,我真的需要你的帮助。在推送通知(GCMintentservice)我可以使用待定意图做事。但我想在状态栏中显示弹出窗口或活动而不是推送通知消息。也就是说,如果应用程序正在运行,则用户将显示活动,而不是状态栏上的消息。我知道不推荐。但这可能吗?任何帮助表示赞赏。

提前致谢

1 个答案:

答案 0 :(得分:1)

是的!有可能的。收到GCM的推送消息后,请使用以下方法:

public boolean isForeground(String myPackage) {
        ActivityManager manager = (ActivityManager) ctx
                .getSystemService(Activity.ACTIVITY_SERVICE);
        List<ActivityManager.RunningTaskInfo> runningTaskInfo = manager
                .getRunningTasks(1);

        ComponentName componentInfo = runningTaskInfo.get(0).topActivity;
        if (componentInfo.getPackageName().equals(myPackage))
            return true;
        return false;
    }

您将了解您的应用是前景还是后台。如果是背景,请显示通知,否则显示AlertDialog

以上方法需要此权限:

  <uses-permission android:name="android.permission.GET_TASKS" />