Commit 4fc0e64b authored by wanglei's avatar wanglei

...

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