Gcm 或 C2DM 应用程序启动问题。(Titanium android)

Posted

技术标签:

【中文标题】Gcm 或 C2DM 应用程序启动问题。(Titanium android)【英文标题】:Gcm or C2DM application launch issue.(Titanium android) 【发布时间】:2012-09-12 11:56:06 【问题描述】:

我正在开发要集成 GCM 的小型 android 应用程序。我为它使用了一个模块,它工作正常。唯一的问题是当我的应用程序打开时,如果我点击通知,它会重新启动我不想要的应用程序。如果应用程序已经在运行,我想要什么,然后只显示正在运行的窗口,如果应用程序关闭,然后启动应用程序... 在我收到的 onmessage 模块代码中看起来像

int icon = 0x7f020000;

    CharSequence tickerText = new String("app anme: " + hashdata.get("messages"));
    long when = System.currentTimeMillis();

    CharSequence contentTitle = "app name";
    CharSequence contentText = new String(" " + hashdata.get("messages"));

    Intent notificationIntent = new Intent(this, GCMIntentService.class);

    Intent launcherintent = new Intent("android.intent.action.MAIN");
    launcherintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);

    launcherintent.setComponent(ComponentName.unflattenFromString("com.example/com.example.ExampleActivity"));
    launcherintent.addCategory("android.intent.category.LAUNCHER");

    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, launcherintent, 0);

    Notification notification = new Notification(icon, tickerText, when);

    notification.defaults = Notification.DEFAULT_ALL;
    notification.flags = Notification.FLAG_AUTO_CANCEL;
    notification.setLatestEventInfo(context, contentTitle, contentText,contentIntent);
    String ns = Context.NOTIFICATION_SERVICE;
    NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
    mNotificationManager.notify(1, notification);

如果应用程序关闭,我的模块工作正常..但是重新启动已经在运行的应用程序,这是不期望的......需要帮助......谢谢............ .

【问题讨论】:

【参考方案1】:

对于 Gcm 实现,这是最好的教程,也可能对您有用。 Google Cloud Messaging For Android (GCM) Simple Tutorial

【讨论】:

以上是关于Gcm 或 C2DM 应用程序启动问题。(Titanium android)的主要内容,如果未能解决你的问题,请参考以下文章

C2DM 注册 ID 与 GCM 注册 ID?

为啥 C2DM/GCM 不使用 SMS 作为传输来节省电池寿命?

C2DM 关闭 - 如果仍然使用 C2DM API for GCM 会发生啥?

从 C2DM 迁移到 GCM for Android SDK 19

C2DM 到 GCM 代码迁移

新 Parse Android SDK 附带的新 GCM(C2DM) 权限是不是会禁用当前应用用户的自动更新?