本文共 1968 字,大约阅读时间需要 6 分钟。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | private static void updateProgressNotification(Context cxt, int appsCount, int percent, String appName, boolean showTicker) { NotificationManager nm = (NotificationManager) cxt.getSystemService( Context.NOTIFICATION_SERVICE); if (DEBUG) LogHelper.d(TAG, "update notification: " + appsCount + ", appName: " + appName); if (appsCount == 0 ) { nm.cancel(Constants.STATUSBAR_APK_DOWNLOADER_PROGRESS_ID); return ; } String status = null ; if (appsCount == 1 ) { status = cxt.getString(Res.string.download_notification_downloading_one, appName); } else { status = cxt.getString(Res.string.download_notification_downloading_more, appsCount); } RemoteViews downloadView = new RemoteViews(Constants.REAL_PACKAGE_NAME, Res.layout.notification_apkdownloader_downloading); downloadView.setTextViewText(Res.id.title, status); downloadView.setProgressBar(Res.id.progress_bar, 100 , percent, false ); Intent intent = new Intent(cxt, DownloadMgrActivity. class ); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); PendingIntent pi = PendingIntent.getActivity(cxt, 0 , intent, PendingIntent.FLAG_UPDATE_CURRENT); Notification notification = new Notification(); notification.icon = NotificationUtils.getGroupIconIdByGroupId(Constants.NOTIFICATION_APPGROUP, Constants.STATE_GREEN); notification.when = 0 ; notification.flags = Notification.FLAG_ONGOING_EVENT; notification.defaults = 0 ; notification.sound = null ; notification.vibrate = null ; notification.contentView = downloadView; notification.contentIntent = pi; if (showTicker) { String ticker = cxt.getString(Res.string.download_notification_downloading_one, appName); notification.tickerText = ticker; } nm.notify(Constants.STATUSBAR_APK_DOWNLOADER_PROGRESS_ID, notification); } |
本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/p/3680957.html如需转载请自行联系原作者
demoblog