首页 > 其他分享 >notification+Android笔记

notification+Android笔记

时间:2024-04-05 12:30:59浏览次数:20  
标签:NotificationManager notification builder 笔记 通知 import Android android btn2

notification通知应用UI之外的消息并显示即推送;

NotificationManager负责管理通知,例如显示取消,删除等;


import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Context;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
     public Button button1,btn2;
    String channelId ="001" ;//这个东西是特定的
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button1 =findViewById(R.id.btn1);
        btn2 =findViewById(R.id.btn2);
        button1.setOnClickListener(this);
        btn2.setOnClickListener(this);

    }

    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.btn1:

                showCommon();
                break;
            case R.id.btn2:
                break;
        }
    }
    public void showCommon() {
       // Android 8.0之后,需要手动添加NotifacationChannel实现

        NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
            NotificationChannel notificationChannel = new NotificationChannel("001", "channel_name", NotificationManager.IMPORTANCE_DEFAULT);
            notificationManager.createNotificationChannel(notificationChannel);

        }

        //第一步创建一个builder对线作为通知对象
        NotificationCompat.Builder builder=new NotificationCompat.Builder(this,channelId);
      //第二步设置builder的一些参数
        builder.setSmallIcon(R.mipmap.ic_launcher);//设置通知的小图标
        builder.setContentTitle("通知标题");//设置通知的标题
        builder.setContentText("通知内容");//设置通知的内容
        builder.setDefaults(Notification.DEFAULT_ALL);//设置通知的默认效果,例如震动,铃声等
        builder.setPriority(NotificationCompat.PRIORITY_DEFAULT);//设置通知的优先级
        builder.setAutoCancel(true);//设置通知被点击后自动消失
        builder.setWhen(System.currentTimeMillis());//设置通知产生的时间
        builder.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher));//设置通知的大图标
        //第三步显示
        notificationManager.notify(001,builder.build());
    }


  
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">

   <Button
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:text="显示一个通知"
       android:id="@+id/btn1"/>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="显示"
        android:id="@+id/btn2"/>


</LinearLayout>

 

9d6b4cfdfb364d2f89b5e83241d96ce6.pnga69b7b6adf744233868440b42d16cf95.png

 

标签:NotificationManager,notification,builder,笔记,通知,import,Android,android,btn2
From: https://blog.csdn.net/2303_76230584/article/details/137248334

相关文章

  • Android 11.0 展讯平台长按power电源键开机时间修改
    1.前言在11.0的系统rom产品定制化开发中,在产品关机的情况下,长按power电源键的情况下,会开启机器然后进入开机流程中,否则就不会开机,但是为了防误撞,误开机要求延长长按power电源键开机时间,所以就需要从kernel中来分析下长按开机的相关源码来实现相关的功能2.展讯平台长按powe......
  • Android pm命令
    在Android操作系统中,"pm"是PackageManager的缩写,它是一个用于管理安装、卸载和管理应用程序包的命令行工具。以下是一些常用的"pm"命令:1、列出所有安装的应用程序包:pmlistpackages 2、列出设备上的所有用户安装的应用程序包:pmlistpackages-3 3、列出设备......
  • Linux守护进程之udev-笔记
    一、什么是udev?        udev 是Linux系统中的一个守护进程,它的主要任务是管理所有的设备节点。你可以把它想象成一个设备的“管家”,负责识别、监控和管理连接到计算机上的硬件设备。当一个新设备被连接到系统时,`udev`会立刻识别它,并为其创建相应的文件和目录,这......
  • 学习笔记
    前言先鸽一下qwq2024.3.31P1087[NOIP2004普及组]FBI树回来后的第一道题,简单回忆了一下树的遍历和递归。还好还是记得一点的,想再看看树的遍历,暂且鸽一下P1229。P1309[NOIP2011普及组]瑞士轮两年前的一直没改/cf思路还是记得的复习一下归并排序,写20min+调20min......
  • JavaWeb学习笔记——第十四天
    SpringBoot原理配置优先级配置文件SpringBoot中支持三种格式的配置文件:application.properties,application.yml,application.yaml。其优先级为:application.properties>application.yml>application.yaml。注意事项虽然springboot支持多种格式配置文件,但是在项目......
  • Python数据分析与可视化笔记 九 分类问题
    分类        分类是找出数据库中一组数据对象的共同特点,并按照分类模式将其划分为不同的类,其目的是通过分类模型,将数据库中的数据项映射到某个给定的类别。        分类学习是一类监督学习的问题,训练数据会包含其分类结果,根据分类结果分为以下几种问题。1.......
  • QT基础(B站自学笔记)
    1.程序运行原理#include"mainwindow.h"#include<QApplication>intmain(intargc,char*argv[]){QApplicationa(argc,argv);MainWindoww;//创建窗口对象ww.show();//显示窗口returna.exec();//进入事件循环}2.QOBJECT宏#ifndef......
  • Android操作sqlite数据库
    Sqlite数一种轻量级的关系型数据库,android里面可以用来持久化存储一些用户数据。一、SQLiteOpenHelper方式SQLiteOpenHelper是原生的数据库帮助类,继承这个类,用来创建,更新数据库的操作publicclassMySqliteOpenHelperextendsSQLiteOpenHelper{privatestaticfinal......
  • 《C++程序设计》阅读笔记【2-程序结构】
    ......
  • 2024 年需要关注的 5 大 Android 开发技术,深入剖析原理
    这篇文章就带着大家一起看看需要重点关注的一些核心技术,同时本文会解释为什么应该优先实现这些技术,以及实现的一些初始途径。需要特别强调一下,实现这些技术虽然不会让你的终端用户发出惊叹,但它们能帮助开发者打造震撼人心的特性,并为开发人员带来更赏心悦目的代码库!1.Kotli......