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