正在查看: WeatherSense v1.8.9 应用的 NotificationUtil.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: WeatherSense v1.8.9 应用的 NotificationUtil.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.emax.weather.utils;
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.net.Uri;
import android.os.Build;
import android.util.Log;
import androidx.core.app.NotificationCompat;
import com.emax.weahter.R;
import com.emax.weather.ui.activity.MainActivity;
import java.util.Timer;
import java.util.TimerTask;
public class NotificationUtil {
public static void showNotification(int buildId, Context context, int resId, String title, String content) {
Notification build;
NotificationManager notificationManager = (NotificationManager) context.getSystemService("notification");
if (Build.VERSION.SDK_INT >= 26) {
notificationManager.createNotificationChannel(new NotificationChannel("my_channel_01", "111", 2));
build = new Notification.Builder(context).setChannelId("my_channel_01").setContentTitle(title).setContentText(content).setSmallIcon(resId).setWhen(System.currentTimeMillis()).setAutoCancel(true).setOngoing(false).setDefaults(3).setGroup("buildId" + buildId).setGroupSummary(true).setContentIntent(PendingIntent.getActivity(context, 1, new Intent(context, (Class<?>) MainActivity.class), 268435456)).build();
} else {
build = new NotificationCompat.Builder(context).setLargeIcon(BitmapFactory.decodeResource(context.getResources(), resId)).setSmallIcon(resId).setTicker("通知来了").setContentTitle(title).setContentText(content).setWhen(System.currentTimeMillis()).setPriority(0).setAutoCancel(true).setOngoing(false).setDefaults(3).setContentIntent(PendingIntent.getActivity(context, 1, new Intent(context, (Class<?>) MainActivity.class), 268435456)).build();
}
notificationManager.notify(buildId, build);
}
public static void showNotification(Context context, int resId, String title, String content) {
Notification build;
NotificationManager notificationManager = (NotificationManager) context.getSystemService("notification");
if (Build.VERSION.SDK_INT >= 26) {
notificationManager.createNotificationChannel(new NotificationChannel("my_channel_01", "111", 2));
build = new Notification.Builder(context).setChannelId("my_channel_01").setContentTitle(title).setContentText(content).setSmallIcon(resId).setWhen(System.currentTimeMillis()).setAutoCancel(true).setOngoing(false).setDefaults(3).setContentIntent(PendingIntent.getActivity(context, 1, new Intent(context, (Class<?>) MainActivity.class), 268435456)).build();
} else {
build = new NotificationCompat.Builder(context).setLargeIcon(BitmapFactory.decodeResource(context.getResources(), resId)).setSmallIcon(resId).setTicker("通知来了").setContentTitle(title).setContentText(content).setWhen(System.currentTimeMillis()).setPriority(0).setAutoCancel(true).setOngoing(false).setDefaults(3).setContentIntent(PendingIntent.getActivity(context, 1, new Intent(context, (Class<?>) MainActivity.class), 268435456)).build();
}
notificationManager.notify(1, build);
}
public static void showNotificationProgress(Context context) {
final NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
builder.setContentTitle("下载中");
builder.setSmallIcon(R.drawable.app_logo);
builder.setTicker("进度条通知");
builder.setProgress(100, 0, false);
Notification build = builder.build();
final NotificationManager notificationManager = (NotificationManager) context.getSystemService("notification");
notificationManager.notify(2, build);
new Timer().schedule(new TimerTask() {
int progress = 0;
@Override
public void run() {
Log.i(NotificationCompat.CATEGORY_PROGRESS, this.progress + "");
while (true) {
int i = this.progress;
if (i <= 100) {
this.progress = i + 1;
try {
Thread.sleep(100L);
} catch (InterruptedException e) {
e.printStackTrace();
}
NotificationCompat.Builder.this.setProgress(100, this.progress, false);
notificationManager.notify(2, NotificationCompat.Builder.this.build());
} else {
cancel();
notificationManager.cancel(2);
return;
}
}
}
}, 0L);
}
public static void showFullScreen(Context context) {
NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
builder.setContentIntent(PendingIntent.getActivity(context, 0, new Intent("android.intent.action.VIEW", Uri.parse("http://blog.csdn.net/itachi85/")), 0));
builder.setSmallIcon(R.drawable.app_logo);
builder.setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.drawable.app_logo));
builder.setAutoCancel(true);
builder.setContentTitle("悬挂式通知");
Intent intent = new Intent();
intent.setFlags(268435456);
intent.setClass(context, MainActivity.class);
builder.setFullScreenIntent(PendingIntent.getActivity(context, 0, intent, 268435456), true);
((NotificationManager) context.getSystemService("notification")).notify(3, builder.build());
}
}