自定义Notification

简介:
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

相关文章
|
JavaScript
Notification.description(ant-design) 和 $notify.message(element-ui) 通知内容自定义
Notification.description(ant-design) 和 $notify.message(element-ui) 通知内容自定义
430 0
|
API Android开发
Notification(状态栏通知)详解
Android中用于在状态栏显示通知信息的控件:Notification,相信大部分学Android都对他都很熟悉,而网上很多关于Notification的使用教程都是基于2.x的,而现在普遍的Android设备基本都在4.x以上,甚至是5.0以上的都有;他们各自的Notification都是不一样的!而本节给大家讲解的是基于4.x以上的Notification。
219 0
|
存储 Android开发
AndroidQ(10.0) SystemUI 增加Notification控制白名单
AndroidQ(10.0) SystemUI 增加Notification控制白名单
163 0
|
数据可视化 C# 开发工具
C#或Winform中的消息通知之系统本地通知(local toast notification)
C#应用通过 Microsoft.Toolkit.Uwp.Notifications NuGet包可以很方便的发送本地通知,适用于所有类型的应用(WPF、UWP、WinForms、控制台)
1344 0
C#或Winform中的消息通知之系统本地通知(local toast notification)
|
Android开发
通知(Notification)
创建通知之前需要对android版本进行一个判断 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) 1 activity_main.xml代码里仅有一个Button用于响应通知,代码不再展示
263 0
通知(Notification)
|
iOS开发
Notification的用法
Notification的用法
238 0
Notification的用法
|
API Android开发