欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android编程自定义Notification实例分析

程序员文章站 2023-12-17 20:34:52
本文实例讲述了android编程自定义notification的用法。分享给大家供大家参考,具体如下: notification是一种让你的应用程序在不使用activit...

本文实例讲述了android编程自定义notification的用法。分享给大家供大家参考,具体如下:

notification是一种让你的应用程序在不使用activity的情况下警示用户,notification是看不见的程序组件警示用户有需要注意的事件发生的最好途径。

作为ui部分,notification对移动设备来说是最适合不过的了。用户可能随时都带着手机在身边。一般来说,用户会在后台打开几个程序,但不会注意它们。在这样的情形下,当发生需要注意的事件时,能够通知用户是很重要的。

notification由notificationmanger统一管理,目前包含的能力有:

❑创建一个状态条图标。

❑在扩展的状态条窗口中显示额外的信息(和启动一个intent)。

❑闪灯或led。

❑电话震动。

❑发出听得见的警告声(铃声,保存的声音文件)。

自定义notification效果图:

Android编程自定义Notification实例分析 Android编程自定义Notification实例分析

自定义的布局文件:

<?xml version="1.0" encoding="utf-8"?>
<linearlayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="match_parent"
 android:layout_height="match_parent">
 <textview
 android:id="@+id/tv_rv"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="haha"
 />
<progressbar
 style="@android:style/widget.progressbar.horizontal"
 android:id="@+id/pb_rv"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 />
</linearlayout>

创建notification:

public class customnotificationactivity extends activity {
  notificationmanager notificationmanager;
  @override
  public void oncreate(bundle savedinstancestate) {
    super.oncreate(savedinstancestate);
    setcontentview(r.layout.main);
    //获取到系统的notificationmanager
    notificationmanager = (notificationmanager) getsystemservice(context.notification_service);
  }
  public void click(view view ){
    //实例化一个notification
     string tickertext = "ip号码 设置完毕";
     long when = system.currenttimemillis();
     notification notification = new notification(r.drawable.icon, tickertext, when);
     //不能手动清理
     //notification.flags= notification.flag_no_clear;
     //添加音乐
     //notification.sound = uri.parse("/sdcard/haha.mp3");
     //设置用户点击notification的动作
     // pendingintent 延期的意图
     intent intent = new intent(this,bactivity.class);
     pendingintent pendingintent = pendingintent.getactivity(this, 0, intent, 0);
     notification.contentintent = pendingintent;
     //自定义界面
     remoteviews rv = new remoteviews(getpackagename(), r.layout.noti_layout);
     rv.settextviewtext(r.id.tv_rv, "我是自定义的 notification");
     rv.setprogressbar(r.id.pb_rv, 80, 20, false);
     notification.contentview = rv;
     //把定义的notification 传递给 notificationmanager
     notificationmanager.notify(0, notification);
  }
}

希望本文所述对大家android程序设计有所帮助。

上一篇:

下一篇: