version:1.0
update:2021-10-21 10:14:40 fix: add:增加开机检测弹窗,增加常驻通知
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
package com.aoleyun.sn.service;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Notification;
|
||||
import android.app.NotificationChannel;
|
||||
import android.app.NotificationManager;
|
||||
import android.app.PendingIntent;
|
||||
import android.app.Service;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.ComponentName;
|
||||
@@ -8,8 +12,10 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.PixelFormat;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.IBinder;
|
||||
import android.os.SystemClock;
|
||||
@@ -23,6 +29,10 @@ import android.view.WindowManager;
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.RequiresApi;
|
||||
import androidx.core.app.NotificationCompat;
|
||||
import androidx.core.app.NotificationManagerCompat;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.aoleyun.sn.comm.PackageNames;
|
||||
@@ -173,6 +183,8 @@ public class MainService extends Service implements MainContact.MainView, Networ
|
||||
//发送设备mac地址和信息
|
||||
mPresenter.sendMACAddress();
|
||||
setFloatingWindow(this);
|
||||
createNotificationChannel();
|
||||
sendSimpleNotification();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -215,6 +227,41 @@ public class MainService extends Service implements MainContact.MainView, Networ
|
||||
return START_STICKY;
|
||||
}
|
||||
|
||||
private void createNotificationChannel() {
|
||||
// Create the NotificationChannel, but only on API 26+ because
|
||||
// the NotificationChannel class is new and not in the support library
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
CharSequence name = channel_name;
|
||||
String description = channel_description;
|
||||
int importance = NotificationManager.IMPORTANCE_DEFAULT;
|
||||
NotificationChannel channel = new NotificationChannel(CHANNEL_ID, name, importance);
|
||||
channel.setDescription(description);
|
||||
// Register the channel with the system; you can't change the importance
|
||||
// or other notification behaviors after this
|
||||
NotificationManager notificationManager = getSystemService(NotificationManager.class);
|
||||
notificationManager.createNotificationChannel(channel);
|
||||
}
|
||||
}
|
||||
|
||||
private static final String CHANNEL_ID = "CHANNEL_ID";
|
||||
private static final String channel_name = "系统通知";
|
||||
private static final String channel_description = "我的设备系统通知";
|
||||
|
||||
private void sendSimpleNotification() {
|
||||
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "CHANNEL_ID")
|
||||
.setSmallIcon(R.mipmap.ic_launcher)
|
||||
.setContentTitle("设备管控中")
|
||||
// .setContentText("测试内容")
|
||||
.setAutoCancel(false)
|
||||
.setShowWhen(false)
|
||||
.setOngoing(true)
|
||||
.setPriority(NotificationCompat.PRIORITY_MAX);
|
||||
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
|
||||
// notificationId is a unique int for each notification that you must define
|
||||
notificationManager.notify(1, builder.build());
|
||||
|
||||
}
|
||||
|
||||
private void addShortcut() {
|
||||
ApkUtils.addShortcut(MainService.this);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user