Commit 4fc0e64b authored by wanglei's avatar wanglei

...

parent 9a85ea42
...@@ -12,6 +12,7 @@ import androidx.activity.OnBackPressedCallback ...@@ -12,6 +12,7 @@ import androidx.activity.OnBackPressedCallback
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.base.pdfviewerscannerwhite.BuildConfig
import com.base.pdfviewerscannerwhite.R import com.base.pdfviewerscannerwhite.R
import com.base.pdfviewerscannerwhite.ads.admob.AdmobBannerUtils import com.base.pdfviewerscannerwhite.ads.admob.AdmobBannerUtils
import com.base.pdfviewerscannerwhite.bean.ConstObject import com.base.pdfviewerscannerwhite.bean.ConstObject
...@@ -32,6 +33,7 @@ import com.base.pdfviewerscannerwhite.bean.ConstObject.todayShowNotificationDial ...@@ -32,6 +33,7 @@ import com.base.pdfviewerscannerwhite.bean.ConstObject.todayShowNotificationDial
import com.base.pdfviewerscannerwhite.bean.DocumentBean import com.base.pdfviewerscannerwhite.bean.DocumentBean
import com.base.pdfviewerscannerwhite.databinding.ActivityMainBinding import com.base.pdfviewerscannerwhite.databinding.ActivityMainBinding
import com.base.pdfviewerscannerwhite.helper.BaseActivity import com.base.pdfviewerscannerwhite.helper.BaseActivity
import com.base.pdfviewerscannerwhite.helper.EventUtils
import com.base.pdfviewerscannerwhite.helper.MyApplication import com.base.pdfviewerscannerwhite.helper.MyApplication
import com.base.pdfviewerscannerwhite.ui.appprocess.AppProcessLoadingActivity import com.base.pdfviewerscannerwhite.ui.appprocess.AppProcessLoadingActivity
import com.base.pdfviewerscannerwhite.ui.cleanjunk.ScanJunkActivity import com.base.pdfviewerscannerwhite.ui.cleanjunk.ScanJunkActivity
...@@ -55,7 +57,9 @@ import com.base.pdfviewerscannerwhite.utils.IntentShareUtils.shareMutDocuments ...@@ -55,7 +57,9 @@ import com.base.pdfviewerscannerwhite.utils.IntentShareUtils.shareMutDocuments
import com.base.pdfviewerscannerwhite.utils.LogEx import com.base.pdfviewerscannerwhite.utils.LogEx
import com.base.pdfviewerscannerwhite.utils.PermissionUtils.checkNotificationPermission import com.base.pdfviewerscannerwhite.utils.PermissionUtils.checkNotificationPermission
import com.base.pdfviewerscannerwhite.utils.PermissionUtils.checkStorePermission import com.base.pdfviewerscannerwhite.utils.PermissionUtils.checkStorePermission
import com.base.pdfviewerscannerwhite.utils.PermissionUtils.userDenyNotificationPermission
import com.base.pdfviewerscannerwhite.utils.ShortcutUtils.addDeskShortCut import com.base.pdfviewerscannerwhite.utils.ShortcutUtils.addDeskShortCut
import com.base.pdfviewerscannerwhite.utils.ToastUtils.toast
import com.base.pdfviewerscannerwhite.utils.updateMediaStore import com.base.pdfviewerscannerwhite.utils.updateMediaStore
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
...@@ -105,6 +109,12 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView { ...@@ -105,6 +109,12 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), MainView {
showNotificationDialog(launcher) showNotificationDialog(launcher)
} }
} }
if (this.userDenyNotificationPermission()) {
if (BuildConfig.DEBUG) {
toast("通知权限用户拒绝")
}
EventUtils.event("Notification_Permission_Deny")
}
lifecycleScope.launch(Dispatchers.IO) { lifecycleScope.launch(Dispatchers.IO) {
ToolFragment.initAppVidePhotoMusicData(this@MainActivity) ToolFragment.initAppVidePhotoMusicData(this@MainActivity)
......
...@@ -492,7 +492,6 @@ object DialogView { ...@@ -492,7 +492,6 @@ object DialogView {
fun Activity.showNotificationDialog(launcher: ActivityLauncher) { fun Activity.showNotificationDialog(launcher: ActivityLauncher) {
if (checkNotificationPermission()) return
val dialog = AlertDialog.Builder(this).create() val dialog = AlertDialog.Builder(this).create()
val binding = DialogNotificationEnableBinding.inflate(LayoutInflater.from(this)) val binding = DialogNotificationEnableBinding.inflate(LayoutInflater.from(this))
......
package com.base.pdfviewerscannerwhite.utils package com.base.pdfviewerscannerwhite.utils
import android.Manifest import android.Manifest
import android.app.Activity
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.pm.PackageManager import android.content.pm.PackageManager
...@@ -31,6 +32,24 @@ object PermissionUtils { ...@@ -31,6 +32,24 @@ object PermissionUtils {
} }
} }
/**
* 通知永久拒绝了
*/
fun Activity.userDenyNotificationPermission(): Boolean {
val shouldShowRationale = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.POST_NOTIFICATIONS)
} else {
true
}
if (!checkNotificationPermission() && !shouldShowRationale) {
// 用户可能已经永久拒绝了POST_NOTIFICATIONS权限
return true
}
return false
}
fun Context.requestStoragePermission( fun Context.requestStoragePermission(
launcher: ActivityLauncher, launcher: ActivityLauncher,
jumpAction: (() -> Unit)? = null, jumpAction: (() -> Unit)? = null,
......
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