cordova插件(Java)通知不会去应用程序 – 安卓

我不是一个android开发人员,但我需要做一个应用程序,因为我知道一些HTML / JavaScript / CSS,我决定使用PhoneGap(cordova)。 我使用一个名为下载pipe理器( 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()); } 

当我点击通知没有任何反应时,我无法工作。 哪里不对? 对不起,英语不好。

Solutions Collecting From Web of "cordova插件(Java)通知不会去应用程序 – 安卓"

更改

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

用你的variables替代它。 希望它的作品

似乎图书馆作者打算点击通知取消下载。 无论如何,原来的意图包裹与PendingIntent并没有指定一个活动开始。

你应该改变:

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