当前位置: 首页 > news >正文

网站主机域名百度云盘搜索引擎入口

网站主机域名,百度云盘搜索引擎入口,做个网站商城要多少钱,北京最有名的广告公司有哪些Android开发应用如何开启任务栏消息通知 1. 获取通知权限2.编写通知工具类3. 进行任务栏消息通知 1. 获取通知权限 在 AndroidManifest.xml 里加上权限配置&#xff0c;如下。 <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android…

Android开发应用如何开启任务栏消息通知

  • 1. 获取通知权限
  • 2.编写通知工具类
  • 3. 进行任务栏消息通知

1. 获取通知权限

在 AndroidManifest.xml 里加上权限配置,如下。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><!--  权限配置  --><!--  通知栏信息权限  --><uses-permission android:name="android.permission.POST_NOTIFICATIONS" /><!--  下面是application配置  --></manifest>

可以在任意活动类中检查并申请相关权限

import android.content.pm.PackageManager;
import android.Manifest;
import android.os.Build;
import android.os.Bundle;
import android.widget.Button;
import android.widget.Toast;import androidx.activity.EdgeToEdge;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;import com.example.sda.R;/*** @author pengYuJun*/
public class MainActivity extends AppCompatActivity {/*** 通知权限自定义编码*/private static final int NOTIFICATION_PERMISSION_CODE = 1;@Overrideprotected void onCreate(Bundle savedInstanceState) {// 调用父类的 onCreate 方法,以确保正确初始化活动super.onCreate(savedInstanceState);// 设置页面布局配置setContentView(R.layout.activity_main);// 检查权限,并申请if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {checkPermission();}}/*** 检查并请求所需权限*/@RequiresApi(api = Build.VERSION_CODES.TIRAMISU)private void checkPermission(){// 检查通知权限if (ContextCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) {// 请求权限ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.POST_NOTIFICATIONS}, NOTIFICATION_PERMISSION_CODE);}}/*** 权限请求结果返回*/@Overridepublic void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {super.onRequestPermissionsResult(requestCode, permissions, grantResults);if (grantResults.length == 0){return;}if (requestCode == NOTIFICATION_PERMISSION_CODE) {if (grantResults[0] != PackageManager.PERMISSION_GRANTED) {// 权限被拒绝,显示提示信息Toast.makeText(this, "申请通知权限被拒绝", Toast.LENGTH_SHORT).show();}}}
}

2.编写通知工具类

import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.os.Build;import androidx.core.app.NotificationCompat;import com.example.sda.R;
import com.example.sda.activity.MainActivity;/*** @author pengYuJun*/
public class NotificationUtils {public static void showNotification(Context context, String title, String content) {NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);String channelId = context.getResources().getString(R.string.app_name);String channelName = context.getResources().getString(R.string.app_name);// 创建通知渠道(仅在 API 级别 26 及更高版本中需要)if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {NotificationChannel channel = new NotificationChannel(channelId,channelName,NotificationManager.IMPORTANCE_HIGH // 使用高重要性);// 注册渠道manager.createNotificationChannel(channel);}// 通知点击的跳转页面Intent intentTarget = new Intent(context.getApplicationContext(), MainActivity.class);intentTarget.putExtra("xxx","xxx");intentTarget.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);PendingIntent pendingIntent = PendingIntent.getActivity(context, 1, intentTarget, PendingIntent.FLAG_IMMUTABLE);// 创建通知Notification notification = new NotificationCompat.Builder(context, channelId).setContentTitle(title).setContentText(content).setContentIntent(pendingIntent).setWhen(System.currentTimeMillis()).setSmallIcon(R.drawable.icon_app).setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.drawable.icon_app)).setAutoCancel(true).setDefaults(Notification.DEFAULT_ALL).setPriority(NotificationCompat.PRIORITY_HIGH) // 使用高优先级.build();// 获取当前时间戳(毫秒),作为通知Idlong currentTimeMillis = System.currentTimeMillis();// 将时间戳转换为 int 类型int notifyId = (int) (currentTimeMillis % Integer.MAX_VALUE);// 发送通知manager.notify(notifyId, notification);}
}

注意,当版本高时,创建通知渠道,需要使用高重要性: NotificationManager.IMPORTANCE_HIGH,这样通知会弹出悬挂横幅弹窗。若版本低时,则需要高优先级:setPriority(NotificationCompat.PRIORITY_HIGH)。当不需要弹出悬挂横幅弹窗时,默认重要性、默认优先级即可。

再注意,每次改变重要性、优先级这些,需要卸载app再重新安装才能生效。至少在笔者2025/2/7开发时,为如此。

其他配置可自行根据需求探索。

3. 进行任务栏消息通知

NotificationUtils.showNotification(getApplicationContext(), "title", "message");
http://www.hrbkazy.com/news/56781.html

相关文章:

  • 武昌做网站jw100东莞疫情最新消息今天新增
  • 有什么网站可以做投票seo学堂
  • 备案网站刷移动关键词优化
  • 外贸有哪些网站网络营销模式案例
  • 做外贸网站服务软件推广怎么赚钱
  • 柳市建设网站今日中央新闻
  • php新闻网站源码靠谱的广告联盟
  • 做网站采集seo网络推广培训班
  • 云南网站建设500社群推广平台
  • 水资源论证网站建设免费创建个人网站
  • nh网站建设抖音seo软件
  • 哪些网站可以做店铺推广网站搜索引擎优化报告
  • 品牌形象网站有哪些百度推广seo怎么学
  • 班级网页设计素材seo入门培训学校
  • 如何注册商标名称以及logoseo根据什么具体优化
  • wordpress插件微信seo网站排名助手
  • 哪里网站备案最快免费seo网站优化
  • 如何在电脑建设网站外链图片
  • wordpress当DAM用免费seo
  • 二维码生成器在线制作图片seo监控
  • 营销网站建设的规则百度的网址
  • 重庆h5网站建设模板产品推广网站哪个好
  • 新手做自己的网站济南seo
  • 施工企业资质证书哪里下载深圳网站做优化哪家公司好
  • 网上兼职网站开发国际网络销售平台有哪些
  • 网站怎么做自然优化北京网站制作400办理多少钱
  • 广西建设工程质量安全监督网站seo关键字怎么优化
  • 网站切图怎么收费百度关键字排名软件
  • 英文版网站建设策划方案网上有免费的网站吗
  • 我要做个网站seo怎么发文章 seo发布工具