Android28--Android之Android的通知(Notification)使用详解

1. 有关Notification的详解

http://www.2cto.com/kf/201502/374946.html

2. 案例

附上两个例子,,一个是开启一个通知, 另一个是开启一个服务,,甚至是主要代码:

 public void btnBormalNotify(View view) {
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this);

        // title, text, smallIcon 必须设置
        builder.setContentTitle("通知")
                .setContentText("内容")
                .setSmallIcon(R.mipmap.ic_launcher);

        // // 声音可以自定义
        // Uri.fromFile()
        // builder.setSound();
        builder.setDefaults(Notification.DEFAULT_ALL);

        Intent intent = new Intent(this, NewsActivity.class);
        intent.putExtra("uri", "www.baidu.com");

        // !!!使用通知的PendingIntent时,必须设置 Intent 的 FLAG, 针对于Activity
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);

        PendingIntent pi =
                PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

        builder.setContentIntent(pi);
        Notification build = builder.build();
        NotificationManagerCompat managerCompat = NotificationManagerCompat.from(this);
        managerCompat.notify(998, build);
    }

    public void btnReceiver(View view) {
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this);

        builder.setContentTitle("通知")
                .setContentText("内容")
                .setSmallIcon(R.mipmap.ic_launcher);

        builder.setDefaults(Notification.DEFAULT_ALL);


        // !! 可以在通知中添加按钮点击操作
        Intent intent = new Intent("com.xiaohong.ACTION_PLAY");
        // 和在Intent里面设置Action同样的作用
        //intent.setClassName(this, MyReceiver.class.getName());
        // getBroadcast 内部会执行 sendBroadcast
        PendingIntent piPlay
                = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        builder.addAction(android.R.drawable.ic_media_play, "播放", piPlay);

        Notification build = builder.build();
        NotificationManagerCompat from = NotificationManagerCompat.from(this);
        from.notify(999, build);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值