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