Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
F
File Recovery RecycleBin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
File Recovery RecycleBin
Commits
7c09e700
Commit
7c09e700
authored
Jul 31, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
add7c9f7
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
28 additions
and
10 deletions
+28
-10
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+13
-6
StayNotificationService.kt
...filerecoveryrecyclebin/service/StayNotificationService.kt
+15
-4
No files found.
app/src/main/AndroidManifest.xml
View file @
7c09e700
...
@@ -6,14 +6,16 @@
...
@@ -6,14 +6,16 @@
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.READ_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.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=
"android.permission.WAKE_LOCK"
/>
<uses-permission
android:name=
"com.google.android.c2dm.permission.RECEIVE"
/>
<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.RECEIVE_BOOT_COMPLETED"
/>
<uses-permission
android:name=
"android.permission.POST_NOTIFICATIONS"
/>
<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.REQUEST_DELETE_PACKAGES"
/>
<uses-permission
android:name=
"android.permission.FOREGROUND_SERVICE"
/>
<uses-permission
android:name=
"android.permission.FOREGROUND_SERVICE_DATA_SYNC"
/>
<queries>
<queries>
<intent>
<intent>
<action
android:name=
"android.intent.action.MAIN"
/>
<action
android:name=
"android.intent.action.MAIN"
/>
...
@@ -245,10 +247,11 @@
...
@@ -245,10 +247,11 @@
android:value=
"true"
/>
android:value=
"true"
/>
<meta-data
<meta-data
android:name=
"com.google.android.gms.ads.flag.NATIVE_AD_DEBUGGER_ENABLED"
android:name=
"com.google.android.gms.ads.flag.NATIVE_AD_DEBUGGER_ENABLED"
android:value=
"false"
/>
<!-- 常驻通知栏 -->
android:value=
"false"
/>
<!-- 常驻通知栏 -->
<service
<service
android:name=
".service.StayNotificationService"
android:name=
".service.StayNotificationService"
android:
permission=
"android.permission.FOREGROUND_SERVICE
"
/>
android:
foregroundServiceType=
"dataSync
"
/>
<service
<service
android:name=
".fcm.MessagingService"
android:name=
".fcm.MessagingService"
android:exported=
"true"
>
android:exported=
"true"
>
...
@@ -259,7 +262,9 @@
...
@@ -259,7 +262,9 @@
<receiver
<receiver
android:name=
".fcm.CloseNotificationReceiver"
android:name=
".fcm.CloseNotificationReceiver"
android:exported=
"false"
/>
<!-- 添加以下接收器 -->
android:exported=
"false"
/>
<!-- 添加以下接收器 -->
<!-- 注册广播 -->
<!-- 注册广播 -->
<receiver
<receiver
android:name=
".fcm.FcmReceiver"
android:name=
".fcm.FcmReceiver"
...
@@ -281,7 +286,9 @@
...
@@ -281,7 +286,9 @@
<meta-data
<meta-data
android:name=
"android.support.FILE_PROVIDER_PATHS"
android:name=
"android.support.FILE_PROVIDER_PATHS"
android:resource=
"@xml/file_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
<meta-data
android:name=
"com.google.android.gms.ads.APPLICATION_ID"
android:name=
"com.google.android.gms.ads.APPLICATION_ID"
android:value=
"ca-app-pub-3940256099942544~3347511713"
/>
android:value=
"ca-app-pub-3940256099942544~3347511713"
/>
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/service/StayNotificationService.kt
View file @
7c09e700
package
com.base.filerecoveryrecyclebin.service
package
com.base.filerecoveryrecyclebin.service
import
android.Manifest.permission.FOREGROUND_SERVICE_DATA_SYNC
import
android.annotation.SuppressLint
import
android.annotation.SuppressLint
import
android.app.Notification
import
android.app.Notification
import
android.app.NotificationChannel
import
android.app.NotificationChannel
...
@@ -8,6 +9,7 @@ import android.app.PendingIntent
...
@@ -8,6 +9,7 @@ import android.app.PendingIntent
import
android.app.Service
import
android.app.Service
import
android.content.Context
import
android.content.Context
import
android.content.Intent
import
android.content.Intent
import
android.content.pm.ServiceInfo
import
android.graphics.BitmapFactory
import
android.graphics.BitmapFactory
import
android.graphics.drawable.Icon
import
android.graphics.drawable.Icon
import
android.os.Build
import
android.os.Build
...
@@ -17,6 +19,7 @@ import android.provider.MediaStore
...
@@ -17,6 +19,7 @@ import android.provider.MediaStore
import
android.widget.RemoteViews
import
android.widget.RemoteViews
import
androidx.annotation.RequiresApi
import
androidx.annotation.RequiresApi
import
androidx.core.app.NotificationCompat
import
androidx.core.app.NotificationCompat
import
androidx.core.app.ServiceCompat
import
androidx.core.graphics.drawable.IconCompat
import
androidx.core.graphics.drawable.IconCompat
import
com.base.filerecoveryrecyclebin.R
import
com.base.filerecoveryrecyclebin.R
import
com.base.filerecoveryrecyclebin.activity.MainActivity
import
com.base.filerecoveryrecyclebin.activity.MainActivity
...
@@ -29,6 +32,7 @@ import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_PHOTOS
...
@@ -29,6 +32,7 @@ import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_PHOTOS
import
com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_VIDEOS
import
com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_VIDEOS
import
com.base.filerecoveryrecyclebin.help.FileHelp
import
com.base.filerecoveryrecyclebin.help.FileHelp
import
com.base.filerecoveryrecyclebin.utils.LogEx
import
com.base.filerecoveryrecyclebin.utils.LogEx
import
com.mbridge.msdk.playercommon.exoplayer2.offline.DownloadService.startForeground
import
java.io.File
import
java.io.File
import
kotlin.random.Random
import
kotlin.random.Random
...
@@ -48,10 +52,11 @@ class StayNotificationService : Service() {
...
@@ -48,10 +52,11 @@ class StayNotificationService : Service() {
var
isRunning
=
false
var
isRunning
=
false
fun
Context
.
startStayNotification
()
{
fun
Context
.
startStayNotification
()
{
val
intent
=
Intent
(
this
,
StayNotificationService
::
class
.
java
)
if
(
Build
.
VERSION
.
SDK_INT
>
Build
.
VERSION_CODES
.
TIRAMISU
)
{
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
)
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
O
)
{
startForegroundService
(
intent
)
startForegroundService
(
intent
)
}
else
{
}
else
{
...
@@ -61,17 +66,23 @@ class StayNotificationService : Service() {
...
@@ -61,17 +66,23 @@ class StayNotificationService : Service() {
}
}
@SuppressLint
(
"ForegroundServiceType"
)
override
fun
onStartCommand
(
intent
:
Intent
?,
flags
:
Int
,
startId
:
Int
):
Int
{
override
fun
onStartCommand
(
intent
:
Intent
?,
flags
:
Int
,
startId
:
Int
):
Int
{
if
(
fileObserver
==
null
)
{
if
(
fileObserver
==
null
)
{
fileObserver
=
FileObserverExample
()
fileObserver
=
FileObserverExample
()
fileObserver
?.
startObserving
()
fileObserver
?.
startObserving
()
}
}
if
(!
isRunning
)
{
if
(!
isRunning
)
{
val
notification
=
createPermanentNotification
(
applicationContext
)
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
isRunning
=
true
}
}
return
START_STICKY
return
START_STICKY
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment