簡體   English   中英

科爾多瓦插件(Java)通知無法轉到應用-Android

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM