From c050c4b6ba72ff24a14e475b486aec8366c5e07e Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Tue, 30 Dec 2025 17:25:28 +0800 Subject: [PATCH] =?UTF-8?q?system=20alert=20=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../util/permission/PermissionActivity.java | 6 +++--- notification/src/main/AndroidManifest.xml | 2 ++ .../controller/NotificationTriggerController.kt | 16 ++++++++++++++++ .../notification/newUtil/NotificationUtil.kt | 7 +++++++ 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/core/architecture/src/main/java/com/ama/core/architecture/util/permission/PermissionActivity.java b/core/architecture/src/main/java/com/ama/core/architecture/util/permission/PermissionActivity.java index d87c82c..86144a8 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/util/permission/PermissionActivity.java +++ b/core/architecture/src/main/java/com/ama/core/architecture/util/permission/PermissionActivity.java @@ -112,9 +112,9 @@ public class PermissionActivity extends AppCompatActivity { } } new AlertDialog.Builder(this) - .setTitle("权限已被拒绝") + .setTitle("Permission has been denied") //.setTitle("权限已被拒绝") .setMessage(PERMISSION_TOTAL_REJECTED_HINT + unGrantedPermissionsStr) - .setPositiveButton("系统设置", new DialogInterface.OnClickListener() { + .setPositiveButton(/*"系统设置"*/ "System setting", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Uri packageURI = Uri.parse("package:" + getPackageName()); @@ -124,7 +124,7 @@ public class PermissionActivity extends AppCompatActivity { sendResultBroadCast(finalGrantedCount > 0 ? PermissionUtil.PERMISSION_RESULT_PARTIAL_GRANTED : PermissionUtil.PERMISSION_RESULT_ALL_REJECTED); } }) - .setNegativeButton("取消", new DialogInterface.OnClickListener() { + .setNegativeButton("cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { sendResultBroadCast(finalGrantedCount > 0 ? PermissionUtil.PERMISSION_RESULT_PARTIAL_GRANTED : PermissionUtil.PERMISSION_RESULT_ALL_REJECTED); diff --git a/notification/src/main/AndroidManifest.xml b/notification/src/main/AndroidManifest.xml index d73c2fb..c6334ee 100644 --- a/notification/src/main/AndroidManifest.xml +++ b/notification/src/main/AndroidManifest.xml @@ -3,6 +3,8 @@ + + diff --git a/notification/src/main/java/com/remax/notification/controller/NotificationTriggerController.kt b/notification/src/main/java/com/remax/notification/controller/NotificationTriggerController.kt index b065927..afeae20 100644 --- a/notification/src/main/java/com/remax/notification/controller/NotificationTriggerController.kt +++ b/notification/src/main/java/com/remax/notification/controller/NotificationTriggerController.kt @@ -14,6 +14,7 @@ import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat import androidx.core.content.ContextCompat import com.ama.core.architecture.util.DateUtil +import com.ama.core.architecture.util.permission.PermissionUtil import com.remax.base.ext.canSendNotification import com.remax.base.report.DataReportManager import com.remax.notification.NotifyConst @@ -26,6 +27,7 @@ import com.remax.notification.builder.type2notificationId import com.remax.notification.check.NotificationCheckController import com.remax.notification.config.NotificationConfigController import com.remax.notification.newUtil.NotificationRecorder +import com.remax.notification.newUtil.NotificationUtil import com.remax.notification.receiver.NotificationDeleteReceiver import com.remax.notification.timing.NotificationTimingController import com.remax.notification.utils.NotiLogger @@ -489,6 +491,20 @@ object NotificationTriggerController { * @return 常驻通知对象 */ fun buildResidentNotification(context: Context): Notification { + NotificationUtil.getInstance().checkOverlayPermission(object : PermissionUtil.ICallback() { + override fun onAllGranted() { + + } + + override fun onPartialGranted() { + + } + + override fun onAllRejected() { + + } + }) + val residentModel = ResidentModelManger().getModel(context) if(context.canSendNotification()){ residentTrack(residentModel) diff --git a/notification/src/main/java/com/remax/notification/newUtil/NotificationUtil.kt b/notification/src/main/java/com/remax/notification/newUtil/NotificationUtil.kt index ad87013..fcad099 100644 --- a/notification/src/main/java/com/remax/notification/newUtil/NotificationUtil.kt +++ b/notification/src/main/java/com/remax/notification/newUtil/NotificationUtil.kt @@ -7,6 +7,7 @@ import android.content.Intent import android.graphics.BitmapFactory import android.graphics.Color import android.os.Build +import android.provider.Settings import android.widget.RemoteViews import androidx.annotation.RequiresApi import androidx.annotation.RequiresPermission @@ -488,6 +489,12 @@ class NotificationUtil private constructor() { ) { showProgressNotification(channelId, title, content, smallIcon, maxProgress, currentProgress, indeterminate, notificationId) } + + + fun checkOverlayPermission(callback: PermissionUtil.ICallback) { + PermissionUtil.checkPermission(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, callback) + } + } /**