我正在使用钛开发一个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
});
任何帮助都将不胜感激。
由于
答案 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);