在android中接收推送通知后无法恢复应用程序

时间:2012-12-28 06:25:39

标签: android push-notification titanium google-cloud-messaging resume

我正在使用钛开发一个Android应用程序,其中包括谷歌云消息传递。我能从服务器获得注册ID。此外,当我的应用程序运行时,我能够从我的服务器接收消息。但是当我的应用程序在后台运行时我的应用程序能够接收消息。但是当我点击通知时它不会恢复我的应用程序。我在app.js中添加了以下代码:

var intent = Titanium.Android.createIntent({
    action: Titanium.Android.ACTION_MAIN,
    className: 'com.nrcomps.rtlireportsandroid.RtlIreportsAndroidActivity',
    packageName: 'com.nrcomps.rtlireportsandroid',     
   flags : Ti.Android.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Ti.Android.FLAG_ACTIVITY_SINGLE_TOP | 
   Ti.Android.FLAG_ACTIVITY_CLEAR_TOP | Ti.Android.FLAG_ACTIVITY_NEW_TASK     
});
intent.addCategory(Titanium.Android.CATEGORY_LAUNCHER);
var pending = Ti.Android.createPendingIntent({
     activity : Ti.Android.currentActivity,
     intent : intent,
     type : Ti.Android.PENDING_INTENT_FOR_ACTIVITY,
     flags : Ti.Android.FLAG_ACTIVITY_NEW_TASK
});

任何帮助都将不胜感激。

由于

2 个答案:

答案 0 :(得分:0)

您需要在Intent上设置Intent标记。您在调用中指定了它们以获得PendingIntent

notificationIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | 
    Intent.FLAG_ACTIVITY_SINGLE_TOP | 
    Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
    notificationIntent, 0);

答案 1 :(得分:0)

String st = "message";
        NotificationManager notifymanManager = (NotificationManager) getSystemService(ns);
        int s = R.drawable.icon;

        long when = System.currentTimeMillis();
        Notification nt = new Notification(s, st, when);
        Intent intent1 = new Intent(this, Woobme.class);
        intent1.addCategory(Intent.CATEGORY_LAUNCHER);
        intent1.setAction(Intent.ACTION_MAIN);
            nt.flags = Notification.FLAG_AUTO_CANCEL;
        PendingIntent pd = PendingIntent.getActivity(this, 0, intent1, 0);
        nt.setLatestEventInfo(context, st, st, pd);
        int i = 1;
        int hello_id = i;
        long m[] = { 0, 100, 200, 200 };
        nt.defaults |= Notification.DEFAULT_SOUND;
        nt.vibrate = m;

        notifymanManager.notify(hello_id, nt);