[英]Cordova plugin (java) notification doesn't go to app - android
我不是Android開發人員,但是我需要制作一個應用程序,因此,由於我知道一些HTML / JavaScript / CSS,因此我決定使用PhoneGap(Cordova)。 我使用一個名為下載管理器( github )的插件來下載文件並顯示進度通知。 一切正常,但是一旦我單擊通知,我想帶我回到應用程序的主要活動,但這沒有發生。
這是負責下載和通知的文件,涉及的代碼如下:
intent = new Intent();
intent.putExtra("cancel_download", 1);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
pend = PendingIntent.getActivity(cordova.getActivity(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
mNotifyManager = (NotificationManager) cordova.getActivity().getSystemService(Activity.NOTIFICATION_SERVICE);
mBuilder = new NotificationCompat.Builder(cordova.getActivity())
.setSmallIcon(android.R.drawable.stat_sys_download)
.setContentTitle(notificationTitle)
/*.setSubText("Tap to CANCEL")*/
.setTicker(ticker)
.setContentIntent(pend)
.setContentText("0% - " + fileName);
mNotificationId = new Random().nextInt(10000);
...
...
//While(downloading)
if(useNotificationBar) {
mBuilder.setProgress(100, newProgress, false);
mBuilder.setContentText(step + "% - " + fileName);
mBuilder.setContentIntent(pend);
mNotifyManager.notify(mNotificationId, mBuilder.build());
}
單擊通知后,我無法使其正常工作。 怎么了? 對不起,英語不好。
更改
pend = PendingIntent.getActivity(cordova.getActivity(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
至
pend = PendingIntent.getActivity(cordova.getActivity(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOT);
希望這行得通。
嘗試這個 :
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent intent = PendingIntent.getActivity(context, 0,
notificationIntent, 0);
用您的變量替換它。 希望能奏效
似乎圖書館作者打算點擊通知以取消下載。 無論如何,用PendingIntent包裝的原始Intent並沒有指定要啟動的Activity。
您應該更改:
intent = new Intent ();
intent.putExtra("cancel_download", 1);
intent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK);
至:
intent = new Intent ();
intent.setComponent(cordova.getActivity.getComponentName());
intent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.