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

5
我是一名 Android 新手,真的需要你的帮助。在推送通知(GCMintentservice)时,我使用待处理意图进行处理。但是我想显示一个弹出窗口或活动,而不是在状态栏中显示推送通知消息。也就是说,如果应用正在运行,则用户将看到一个活动,而不是状态栏上的消息。我知道这不被推荐。但是这可行吗?感激任何帮助。
提前感谢。
1个回答

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" />

谢谢Vinay。让我检查一下,然后再回复你。 - Vaseem Sathar
如果应用程序在后台运行,则可以通过运行后台服务显示弹出窗口。 - Prasad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接