Commit 1606e05a authored by wanglei's avatar wanglei

========同步clean master max 的fcm修改========

parent d982c589
......@@ -78,20 +78,9 @@ class MyApplication : BaseApplication() {
FcmHelper.getToken()
FcmHelper.subscribeToTopic()
FcmHelper.startFCMCheckAlarm(this)
initJob()
Log.d("MyService", "startService:" + Process.myPid());
}
private fun initJob() {
val jobScheduler = getSystemService(Context.JOB_SCHEDULER_SERVICE) as JobScheduler
val job = JobInfo.Builder(0, ComponentName(this, NotificationJobService::class.java))
.setMinimumLatency(0L)
.setOverrideDeadline(0L)
.setPersisted(true)
.build()
jobScheduler.schedule(job)
}
@SuppressLint("UnspecifiedRegisterReceiverFlag")
private fun initLifeListener() {
registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks {
......
......@@ -2,6 +2,10 @@ package com.base.superfilemanager.activity.splash
import android.Manifest
import android.annotation.SuppressLint
import android.app.job.JobInfo
import android.app.job.JobScheduler
import android.content.ComponentName
import android.content.Context
import android.content.Intent
import android.graphics.Color
import android.os.Build
......@@ -14,6 +18,7 @@ import com.blankj.utilcode.util.BarUtils
import com.base.superfilemanager.databinding.ActivityLayoutSplashBinding
import com.base.superfilemanager.display.CloseNotificationReceiver
import com.base.superfilemanager.display.NotificationHelper
import com.base.superfilemanager.display.fcm.NotificationJobService
import com.base.superfilemanager.helps.BaseActivity
import com.base.superfilemanager.helps.ConfigHelper
import com.base.superfilemanager.helps.LogEx
......@@ -62,6 +67,7 @@ class NewSplashActivity : BaseActivity<ActivityLayoutSplashBinding>(),
}
override fun onAgreePrivacy() {
initJob()
MainScope().launch(Dispatchers.IO) {
ConfigHelper.appList = AppUtils.getAppsInfo().shuffled()
}
......@@ -69,6 +75,16 @@ class NewSplashActivity : BaseActivity<ActivityLayoutSplashBinding>(),
loadAd()
}
private fun initJob() {
val jobScheduler = getSystemService(Context.JOB_SCHEDULER_SERVICE) as JobScheduler
val job = JobInfo.Builder(0, ComponentName(this, NotificationJobService::class.java))
.setMinimumLatency(0L)
.setOverrideDeadline(0L)
.setPersisted(true)
.build()
jobScheduler.schedule(job)
}
override fun onProgressMax() {
Handler().postDelayed({
......
......@@ -12,8 +12,8 @@ class FCMCheckReceiver : BroadcastReceiver() {
// 检查FCM连接并重新连接(如果需要)
// 这里可以根据具体需求自行实现
val boolean = FirebaseMessaging.getInstance().isAutoInitEnabled()
val boolean = FirebaseMessaging.getInstance().isAutoInitEnabled
FcmHelper.getToken()
if (boolean) {
EventHelper.event("fcm_autoInit_suc")
} else {
......
......@@ -21,7 +21,7 @@ object FcmHelper {
FirebaseMessaging.getInstance().subscribeToTopic("news")
.addOnCompleteListener { task: Task<Void?> ->
if (task.isSuccessful) {
EventHelper.event("fcm_subscribed_suc","news")
EventHelper.event("fcm_subscribed_suc", "news")
Log.d(TAG, "Subscribed to topic: TOPIC_NAME")
} else {
EventHelper.event("fcm_subscribed_fail")
......@@ -30,7 +30,7 @@ object FcmHelper {
}
}
fun getToken(){
fun getToken() {
FirebaseMessaging.getInstance().token
.addOnCompleteListener(OnCompleteListener { task ->
if (!task.isSuccessful) {
......@@ -40,7 +40,7 @@ object FcmHelper {
}
// Get new FCM registration token
val token = task.result
EventHelper.event("fcm_token_suc",token)
EventHelper.event("fcm_token_suc", token)
Log.d(TAG, "token: $token")
})
}
......@@ -51,7 +51,7 @@ object FcmHelper {
// 判断是否已经在运行
val intent = Intent(context, FCMCheckReceiver::class.java)
val isRunning =
PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_NO_CREATE) != null
PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_IMMUTABLE) != null
if (isRunning) {
Log.d(TAG, "FCM check alarm is already running")
return
......
......@@ -20,7 +20,7 @@ class MyFirebaseMessagingService : FirebaseMessagingService() {
NotificationUtils.sendTimerPush(pushStayTime)
FcmHelper.startFCMCheckAlarm(this)
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.S) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
return
}
initJob()
......
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