【Android笔记】通知栏

原创
2016/09/30 21:34
阅读数 99

如何实现通知栏

  • 获取NotificationManager
  • 显示通知栏:notifi(id, nitification);
  • 取消通知栏:cancle(id);
  • 构造Notification并设置显示内容
  • 通知栏通知可以设置声音提示、指示灯以及震动效果

 实例

package com.example.demo14;

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity implements View.OnClickListener{

    private Button sendBtn, cacelBtn;
    private NotificationManager notificationManager;
    int notification_ID;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

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

        sendBtn = (Button) findViewById(R.id.sendButton);
        cacelBtn = (Button) findViewById(R.id.cancelButton);
        sendBtn.setOnClickListener(this);
        cacelBtn.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.sendButton:
                sendNotification();
                break;
            case R.id.cancelButton:
                notificationManager.cancel(notification_ID);
                break;
        }
    }

    /**
     * 构造Notification并发送到通知栏
     */
    private void sendNotification() {
        Notification.Builder builder = new Notification.Builder(this);
        Intent intent = new Intent(this, MainActivity.class);
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);

        builder.setSmallIcon(R.drawable.baidu); //设置图标
        builder.setTicker("hello");  //手机状态栏的提示
        builder.setWhen(System.currentTimeMillis()); //设置时间
        builder.setContentTitle("通知栏通知");  //设置标题
        builder.setContentText("来自demo14的通知");  //设置通知内容
        builder.setContentIntent(pendingIntent);  //点击后的意图
        builder.setDefaults(Notification.DEFAULT_SOUND);   //设置提示声音
        builder.setDefaults(Notification.DEFAULT_LIGHTS);  //设置指示灯
        builder.setDefaults(Notification.DEFAULT_VIBRATE); //设置震动
//        builder.setDefaults(Notification.DEFAULT_ALL);  //同时设置声音、指示灯、震动

        Notification notification = builder.build();  //4.1版本及以上使用
        notificationManager.notify(notification_ID, notification);
    }
}

运行效果

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部