0

我正在用钛开发一个 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
});

任何帮助,将不胜感激。

谢谢

4

2 回答 2

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);
于 2012-12-28T07:01:34.087 回答
0

您需要IntentIntent. 您在调用中指定它们以获取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);
于 2012-12-28T06:29:59.620 回答