:通知与服务
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类
以上是关于:通知与服务的主要内容,如果未能解决你的问题,请参考以下文章