0

我正在開發一個鈦應用程序,其中包括谷歌雲消息。我能夠從服務器獲得註冊ID。另外,當我的應用程序正在運行時,我能夠從我的服務器接收消息。但是當我的應用程序在後臺運行時,我的應用程序能夠接收消息。但是當我點擊通知時,它不會恢復我的應用程序。我在我的app.js中添加了以下代碼:無法在android中收到推送通知後恢復應用程序

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

@Sonal,請不要在帖子中添加簽名。請在你的個人資料中更新你的名字。堆棧溢出有一個非常漂亮的簽名,在你的每篇文章的右下角的藍色矩形中。 –

+0

我不會有鈦的想法.. PLZ嘗試通過刪除標誌: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 --------------- and ------- ype:Ti.Android.PENDING_INTENT_FOR_ACTIVITY, flags:Ti.Android.FLAG_ACTIVITY_NEW_TASK – Sandy09

+0

我已將全部標誌。但它仍然不起作用。 – user859177

回答

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); 
+0

感謝您的快速回復。我已經添加了您提供的代碼,但仍然無法使用。 – user859177

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); 
+0

intent1.addCategory(Intent.CATEGORY_LAUNCHER); intent1.setAction(Intent.ACTION_MAIN);這些行重新啓動舊的活動,它對我來說工作得很好......你可以發佈你的代碼嗎? – Sandy09

+0

請找到更新後的問題。謝謝 – user859177

+0

我仍然面臨同樣的問題。我正在開發這個應用程序在鈦和使用Java應用程序發送通知。它成功發送消息,但是當應用程序在後臺時,它不會啓動應用程序。如果它在前景中,它可以正常工作。如果我使用我的鈦應用程序發送通知,那麼它會正常啓動應用程序。是否有任何問題通過不同的應用程序發送通知(即在Java中)?任何幫助將不勝感激。謝謝 – user859177

相關問題