Android Studio---发送通知.

主要部分:
NotificationManager类:通知栏管理,通过该类才能发送通知.
NotificationManager mNotificationManager=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);//获取状态通知栏管理
mNotificationManager.notify(id,NotificationCompat.Builder的一个实例);//发送通知
mNotificationManager.cancel(id)//撤销该通知

NotificationCompat.Builder类:
NotificationCompat.Buider mNotificationBuilder= new NotificationCompat.Builder(context,“default”);//实例化
mNotificationBuilder.setContentTitle(“通知栏标题”)
.setContentText(“通知栏内容:”)
.setContentIntent(contentIntent)
//点击通知栏消息后跳转.
.setDefaults(Notification.DEFAULT_VIBRATE)
.setTicker(“通知来了”)
//目前不知道有什么用处
.setWhen(System.currentTimeMillis())
//目前不知道有什么用处
.setSmallIcon(R.mipmap.ic_launcher)
//这条语句必须有,否则没有通知显示. .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))
.setAutoCancel(true)
为 .setContentIntent(contentIntent)做准备:
Intent intent = new Intent(MainAcitivity.this,MainActivity.this)
PendingIntent contentIntent = PendingIntent.getActivity(
MainActivity.this,0,notificationIntent,0)

下面是一个简单例子.
activity_main.xml中设置两个按钮,发送通知和撤销通知.
MainActivity.java:

public class MainActivity extends AppCompatActivity {
    NotificationManager mNotificationManager;
    NotificationCompat.Builder mNotificationBuilder;
    Button btn_start,btn_cancle;
    Context context;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        context=MainActivity.this;
        btn_start = (Button)findViewById(R.id.startBtn);
        btn_cancle = (Button)findViewById(R.id.cancelBtn);

        //第一步:获取状态通知栏管理:
        //注意:NotificationManager 是一个系统Service
        mNotificationManager=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);

        //第二步:实例化通知栏构造器NotificationCompat.Builder:并对Builder进行配置:
        mNotificationBuilder=new NotificationCompat.Builder(context,"default");
        Intent notificationIntent=new Intent(context, MainActivity.class);
        PendingIntent contentIntent=PendingIntent.getActivity(context, 0, notificationIntent, 0);
        mNotificationBuilder.setContentTitle("通知栏标题")
                .setContentText("通知栏内容:")
                .setContentIntent(contentIntent)
                .setDefaults(Notification.DEFAULT_VIBRATE)
                .setTicker("通知来了")
                .setWhen(System.currentTimeMillis())
                .setSmallIcon(R.mipmap.ic_launcher)
                .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))
                .setAutoCancel(true);

        //第三步:发送通知请求
        btn_start.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mNotificationManager.notify(1,mNotificationBuilder.build());//第一个参数为ID
            }
        });

        // 取消通知
        btn_cancle.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mNotificationManager.cancel(1);
            }
        });
    }
}

运行结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值