Notification通知栏的使用

1.获取NotificationManager,用来控制通知栏的显示。

NotificationManager nm=(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

2.得到Notification对象,用来显示在通知栏
Notification notification = new Notification();  

3.给Notification附加各种属性
 
        // 设置显示在手机最上边的状态栏的图标 ,必须属性,缺了显示不出来 
        notification.icon = R.drawable.ic_launcher;  
        // 当当前的notification被放到状态栏上的时候,提示内容   
        notification.tickerText = "下载中...";     

4.得到PendingIntent对象,PendingIntent主要用来在进程间通信,通知栏与程序不在一个进程
 
 
        Intent intent = new Intent();  
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);
其中intent所指向的class就是点击通知栏的通知后跳转的Activity界面,如果不设置,就不跳。

5.设置把通知栏下拉后出现的界面
  notification.setLatestEventInfo(this, "下载", "fedsa", pendingIntent);  
界面中有1个标题、一行内容、一个图片与通知栏出现的时间。由于没设置图片,图片为默认。

6.把设置好的通知信息显示到通知栏里
nm.notify(1, notification);  
其中第一个参数为这个通知的id,自定义的。同一时间这个值必须唯一。



Notification一些有用的flag与字段:
 1. FLAG_AUTO_CANCEL 当用户点击通知栏时通知栏取消。
 2. FLAG_INSISTENT  设置的声音会重复响,除非用户清除掉这个通知或者点击进入这个通知所指向的程序
 3. FLAG_NO_CLEAR  设置了这个,通知将永不会被取消,就算clear也没用
 4. FLAG_ONLY_ALERT_ONCE 设置这个能让通知每发一次就响一次设置好的声音
 5. FLAG_SHOW_LIGHTS 设置了这个才能让LED亮(通知不一定只能通知消息,也能通知背光灯闪烁,播放音乐等)
 1. audioStreamType    用来播放的音频类型,int类型
 2. contentIntent   当点击通知栏时执行的 PendingIntent
 3. contentView     RemoteViews类型,通知栏的界面
 4. flags  标志位,值就设置上面的标志,不设置就是默认的设置。
 5. icon   图标,状态栏里的图标。(必须有)
 6. number  这个通知显示的次数
 7. sound  Uri类型值,要播放的声音
 8. tickerText 显示在状态栏的文字(不必须)
 9. when  时间戳,不设置就是now,用于显示在通知栏

 10还有几个字段看不懂什么意思.......(API 8)



一般来说简单的通知栏已经能满足要求了,不过我们也可以设置一些复杂点的。
如果不满足系统提供的通知栏界面,那么可以自定义一个界面。
自定义的方法就是给contentIntent 与contentView 字段赋值,把

notification.setLatestEventInfo(this, "下载", "fedsa", pendingIntent); 
这一句去掉。
RemoteViews里可以设置的View有进度条、图片、文字。
比如设置view里的文字   view.setTextViewText(R.id.tv, "下载"+progress+"%");
第一个参数是TextView的id,第二个是TextView要显示的内容。
RemoteViews的对象可以这样得到
RemoteViews view=new RemoteViews(getPackageName(),R.layout.notification_view);

如果要更新通知栏里的内容,可以nm.notify(1, notification);  


### 回答1: Android通知是一种用于显示应用程序通知的用户界面元素。它可以在屏幕的顶部或底部显示,并且可以包含文本、图像、声音和其他交互元素。通知可以帮助用户及时了解应用程序的状态和事件,例如新消息、更新、提醒和警告等。开发人员可以使用Android SDK提供的通知API来创建和管理通知,以便更好地与用户进行交互。 ### 回答2: Android 通知是一种提供给用户显示有关当前状态和行动的信息的方式,以便用户可以及时地采取必要的行动。通知可以显示来自应用程序和系统的通知消息,例如电子邮件、信息和其他事件,可以让用户在不离开当前应用的情况下对这些消息进行响应。 在通知中,每个通知都包含一个图标、标题、简短的消息文本和通知时间。用户可以从通知中直接打开应用程序或查看通知的详细信息。通知还可以显示多个通知,按照时间顺序进行排序。 开发人员可以使用 Android SDK 提供的 Notification 类来创建自定义通知。可以设置通知的图标、文本、声音、震动和延迟时间等属性。还可以指定通知的优先级,以便系统在有限的屏幕空间中为用户先显示最重要的通知通知还可以与 PendingIntent 实例相关联,以便在用户单击通知时执行特定的操作,例如打开应用程序,启动活动或显示通知详细信息的专用活动。 总之,Android 通知是一种非常有用的功能,可以让用户及时了解应用程序和系统中的重要事件,并采取及时的行动。开发人员可以使用通知来实现更好的用户体验。 ### 回答3: Android 通知是一种非常有用的功能,它可以让你的应用程序以一种全新的方式与用户进行交互。在 Android 应用程序中,通知是一种特殊的 UI 元素,它显示在屏幕的顶部,并显示当前状态、事件或提示。通知通常包含一组小图标,可以展开或折叠以显示更多详细信息。 Android 通知有许多不同的用途,例如提醒用户新的消息、电子邮件、电话、提醒等等。发送通知的应用程序无需与用户保持连接,这使得通知非常适合后台服务或其他形式的低功耗通信。通知还允许用户直接从通知菜单中操作应用程序。例如,当用户收到新的电子邮件时,他们可以在通知中选择该电子邮件并立即查看其内容,而无需打开电子邮件应用程序。 Android 通知的另一个优点是它的可定制性。可以轻松地修改通知的外观、行为和内容,以满足不同应用程序的需求和设计要求。您可以为通知添加各种元素,如纯文本、小图标、大图标、进度指示器、按钮等等。这样,您可以轻松地创造与您的品牌和应用程序设计语言保持一致的通知。 在实现通知之前,您需要确保该应用程序已获得了通知权限。如果您的应用程序需要通知用户任何内容,则必须获得 Android 手机上的通知权限。可以在应用程序设置中找到此选项。 虽然 Android 通知很有用,但在某些情况下,它们可能会变得令人分心。因此,应该仔细考虑应用程序通知的数量和类型,以确保用户不会感到困扰。通知还可以消耗设备电池,因此也应考虑优化应用程序以最小化资源消耗。 Android 通知作为 Android 应用程序非常重要的一部分,可以帮助您在应用程序和用户之间建立更紧密的联系,并提供有关应用程序状态、事件和提示的有用信息。通过努力优化您的应用程序通知,您可以确保用户感到受到了关注,并且同时不会让他们感到困扰。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值