:通知与服务

Posted 亿钱君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了:通知与服务相关的知识,希望对你有一定的参考价值。

这里写目录标题

  • 通知的功能可以将提示信息显示在设备的通知栏中
  • 服务则是在后台执行的主要形式

1. 通知

1.1 创建简单的通知


1.1 NotificationManager:是管理通知的主类


1.2 代码中使用etSystemService()方法获取相应的系统服务对象,使用通知时,需要指定NOTIFICATION_SERVICE参数


1.3 使用android支持库中的NotificationCompat类创建Notification对象,这样可以得到更好的兼容性


1.4 使用Builder()方法创建Notification对象后,还使用了以下基本设置方法

  • setContentTitle(“新的通知”):设置通知标题

  • setContentText(“一个小小的通知”):设置通知正文

  • setWhen(System.currentTimeMillis()):设置通知时间,代码中使用System.currentTimeMillis()方法获取系统时间的毫秒数

  • setSmallIcon(R.mipmap.ic_launcher):设置小图标,即显示在设备栏中的图标

  • setLargeIcon():设置大图标,即显示在下拉通知栏中的图标


1.5 代码最后,使用NotificationManager对象的notify()方法发送通知

  • 参数1:通知的标识ID,如果应用中有多个通知,需要使用不同的ID
  • 参数2:指定要发送的对象
package com.syl.notificationdemo;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.NotificationCompat;

import android.app.Notification;
import android.app.NotificationManager;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity implements View.OnClickListener 

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

        Button btn = (Button)findViewById(R.id.btn1);
        btn.setOnClickListener(this);
    

    @Override
    public void onClick(View v)
        //创建通知
        if(v.getId()==R.id.btn1)
            NotificationManager m = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
            NotificationCompat.Builder nb = new NotificationCompat.Builder(this);
            nb.setContentTitle("新的通知");
            nb.setContentText("一个小小的通知");
            nb.setWhen(System.currentTimeMillis());
            nb.setSmallIcon(R.mipmap.ic_launcher);
            nb.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher));

            Notification n = nb.build();
            m.notify(1,n);

        
    

1.2 响应通知操作


1.3 更多设置

关于显示通知的效果,介绍一些常用功能

  • setVibrate()方法:设置通知的震动效果,需要注册权限
  • setSound()方法;设置通知的提示音
  • setPriority()方法:设置通知的优先级

2. 服务

服务是在后台执行的任务,服务可以用Service和IntentService来创建

2.1 Service类



以上是关于:通知与服务的主要内容,如果未能解决你的问题,请参考以下文章

OPPO手机通知消息分tab显示,分为消息和通知两个tab页,怎么关闭?

腾讯云天天P图回应与“她拍”纠纷:授权提供人脸融合服务

wp8 在多个页面中处理原始推送通知

设置 Windows 推送通知服务 (WNS) 服务器端

Confluence 6 配置 workbox 通知

Android通知栏介绍与适配总结