Commit 7c09e700 authored by wanglei's avatar wanglei

...

parent add7c9f7
......@@ -6,14 +6,16 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <!-- fcm 添加以下权限 -->
<!-- fcm 添加以下权限 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
<queries>
<intent>
<action android:name="android.intent.action.MAIN" />
......@@ -245,10 +247,11 @@
android:value="true" />
<meta-data
android:name="com.google.android.gms.ads.flag.NATIVE_AD_DEBUGGER_ENABLED"
android:value="false" /> <!-- 常驻通知栏 -->
android:value="false" />
<!-- 常驻通知栏 -->
<service
android:name=".service.StayNotificationService"
android:permission="android.permission.FOREGROUND_SERVICE" />
android:foregroundServiceType="dataSync" />
<service
android:name=".fcm.MessagingService"
android:exported="true">
......@@ -259,7 +262,9 @@
<receiver
android:name=".fcm.CloseNotificationReceiver"
android:exported="false" /> <!-- 添加以下接收器 -->
android:exported="false" />
<!-- 添加以下接收器 -->
<!-- 注册广播 -->
<receiver
android:name=".fcm.FcmReceiver"
......@@ -281,7 +286,9 @@
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider> <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
</provider>
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713" />
......
package com.base.filerecoveryrecyclebin.service
import android.Manifest.permission.FOREGROUND_SERVICE_DATA_SYNC
import android.annotation.SuppressLint
import android.app.Notification
import android.app.NotificationChannel
......@@ -8,6 +9,7 @@ import android.app.PendingIntent
import android.app.Service
import android.content.Context
import android.content.Intent
import android.content.pm.ServiceInfo
import android.graphics.BitmapFactory
import android.graphics.drawable.Icon
import android.os.Build
......@@ -17,6 +19,7 @@ import android.provider.MediaStore
import android.widget.RemoteViews
import androidx.annotation.RequiresApi
import androidx.core.app.NotificationCompat
import androidx.core.app.ServiceCompat
import androidx.core.graphics.drawable.IconCompat
import com.base.filerecoveryrecyclebin.R
import com.base.filerecoveryrecyclebin.activity.MainActivity
......@@ -29,6 +32,7 @@ import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_PHOTOS
import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_VIDEOS
import com.base.filerecoveryrecyclebin.help.FileHelp
import com.base.filerecoveryrecyclebin.utils.LogEx
import com.mbridge.msdk.playercommon.exoplayer2.offline.DownloadService.startForeground
import java.io.File
import kotlin.random.Random
......@@ -48,10 +52,11 @@ class StayNotificationService : Service() {
var isRunning = false
fun Context.startStayNotification() {
val intent = Intent(this, StayNotificationService::class.java)
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.TIRAMISU) {
return
}
val intent = Intent(this, StayNotificationService::class.java)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
startForegroundService(intent)
} else {
......@@ -61,17 +66,23 @@ class StayNotificationService : Service() {
}
@SuppressLint("ForegroundServiceType")
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
if (fileObserver == null) {
fileObserver = FileObserverExample()
fileObserver?.startObserving()
}
if (!isRunning) {
val notification = createPermanentNotification(applicationContext)
startForeground(1, notification)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
startForeground(1, notification, ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC)
} else {
startForeground(1, notification)
}
isRunning = true
}
return START_STICKY
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment