一、通知栏的内容
1、图标
2、标题
3、内容
4、时间
5、点击后的相应
二、如何实现通知栏
1、获取NotificationManager。
2、显示通知栏:notify(id,notification);
3、取消通知栏:cancle(id);
4、构造Notification并设置显示内容;
5、通知栏通知可以设置声音提示,指示灯,以及震动效果。
三、示例代码:发送通知和取消通知
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="通知栏的使用" /><Buttonandroid:id="@+id/btn_send"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="发送通知"/><Buttonandroid:id="@+id/btn_cancel"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="取消通知"/> </LinearLayout>
添加权限:
<!--指示灯的权限--><uses-permission android:name="android.permission.FLASHLIGHT" /><!--震动的权限--><uses-permission android:name="android.permission.VIBRATE" />
后台代码:
package com.example.zhengcheng.myapplication;import android.app.Activity; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.app.Notification;public class MainActivity extends Activity {Button btn_send; //发送按钮Button btn_cancel; //取消按钮NotificationManager manager; //通知控制类int notificationID;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//通过系统服务来创建NotificationManagermanager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);btn_send = (Button) findViewById(R.id.btn_send);btn_send.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {sendNotication();}});btn_cancel = (Button) findViewById(R.id.btn_cancel);btn_cancel.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {manager.cancel(notificationID);}});}/*** 发送通知信息*/private void sendNotication() {Intent intent = new Intent(this, MainActivity.class);PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);Notification.Builder builder = new Notification.Builder(this);builder.setSmallIcon(R.mipmap.ic_launcher); //设置图标builder.setTicker("手机状态栏提示"); //手机状态栏提示builder.setWhen(System.currentTimeMillis()); //设置时间builder.setContentTitle("通知栏标题"); //设置标题栏builder.setContentText("我来自NotificationDemo"); //设置通知栏内容builder.setContentIntent(pendingIntent); //设置点击通知栏时弹出哪一个Activity// builder.setDefaults(Notification.DEFAULT_SOUND); //设置提示声音 // builder.setDefaults(Notification.DEFAULT_LIGHTS); //设置指示灯 // builder.setDefaults(Notification.DEFAULT_VIBRATE); //设置震动 builder.setDefaults(Notification.DEFAULT_ALL); //设置上面所有的效果Notification notification = builder.build(); //Android4.1以上的版本, // Notification notification = builder.getNotification(); //如果4.1以下的版本使用 builder.getNotification(); manager.notify(notificationID, notification);}}