system alert 权限
This commit is contained in:
parent
d632807122
commit
c050c4b6ba
|
|
@ -112,9 +112,9 @@ public class PermissionActivity extends AppCompatActivity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
new AlertDialog.Builder(this)
|
new AlertDialog.Builder(this)
|
||||||
.setTitle("权限已被拒绝")
|
.setTitle("Permission has been denied") //.setTitle("权限已被拒绝")
|
||||||
.setMessage(PERMISSION_TOTAL_REJECTED_HINT + unGrantedPermissionsStr)
|
.setMessage(PERMISSION_TOTAL_REJECTED_HINT + unGrantedPermissionsStr)
|
||||||
.setPositiveButton("系统设置", new DialogInterface.OnClickListener() {
|
.setPositiveButton(/*"系统设置"*/ "System setting", new DialogInterface.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
Uri packageURI = Uri.parse("package:" + getPackageName());
|
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);
|
sendResultBroadCast(finalGrantedCount > 0 ? PermissionUtil.PERMISSION_RESULT_PARTIAL_GRANTED : PermissionUtil.PERMISSION_RESULT_ALL_REJECTED);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
|
.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
sendResultBroadCast(finalGrantedCount > 0 ? PermissionUtil.PERMISSION_RESULT_PARTIAL_GRANTED : PermissionUtil.PERMISSION_RESULT_ALL_REJECTED);
|
sendResultBroadCast(finalGrantedCount > 0 ? PermissionUtil.PERMISSION_RESULT_PARTIAL_GRANTED : PermissionUtil.PERMISSION_RESULT_ALL_REJECTED);
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,8 @@
|
||||||
|
|
||||||
<!-- 通知权限 -->
|
<!-- 通知权限 -->
|
||||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||||
|
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
||||||
|
|
||||||
|
|
||||||
<!-- 前台服务权限 -->
|
<!-- 前台服务权限 -->
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ import androidx.core.app.NotificationCompat
|
||||||
import androidx.core.app.NotificationManagerCompat
|
import androidx.core.app.NotificationManagerCompat
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import com.ama.core.architecture.util.DateUtil
|
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.ext.canSendNotification
|
||||||
import com.remax.base.report.DataReportManager
|
import com.remax.base.report.DataReportManager
|
||||||
import com.remax.notification.NotifyConst
|
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.check.NotificationCheckController
|
||||||
import com.remax.notification.config.NotificationConfigController
|
import com.remax.notification.config.NotificationConfigController
|
||||||
import com.remax.notification.newUtil.NotificationRecorder
|
import com.remax.notification.newUtil.NotificationRecorder
|
||||||
|
import com.remax.notification.newUtil.NotificationUtil
|
||||||
import com.remax.notification.receiver.NotificationDeleteReceiver
|
import com.remax.notification.receiver.NotificationDeleteReceiver
|
||||||
import com.remax.notification.timing.NotificationTimingController
|
import com.remax.notification.timing.NotificationTimingController
|
||||||
import com.remax.notification.utils.NotiLogger
|
import com.remax.notification.utils.NotiLogger
|
||||||
|
|
@ -489,6 +491,20 @@ object NotificationTriggerController {
|
||||||
* @return 常驻通知对象
|
* @return 常驻通知对象
|
||||||
*/
|
*/
|
||||||
fun buildResidentNotification(context: Context): Notification {
|
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)
|
val residentModel = ResidentModelManger().getModel(context)
|
||||||
if(context.canSendNotification()){
|
if(context.canSendNotification()){
|
||||||
residentTrack(residentModel)
|
residentTrack(residentModel)
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import android.content.Intent
|
||||||
import android.graphics.BitmapFactory
|
import android.graphics.BitmapFactory
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
|
import android.provider.Settings
|
||||||
import android.widget.RemoteViews
|
import android.widget.RemoteViews
|
||||||
import androidx.annotation.RequiresApi
|
import androidx.annotation.RequiresApi
|
||||||
import androidx.annotation.RequiresPermission
|
import androidx.annotation.RequiresPermission
|
||||||
|
|
@ -488,6 +489,12 @@ class NotificationUtil private constructor() {
|
||||||
) {
|
) {
|
||||||
showProgressNotification(channelId, title, content, smallIcon, maxProgress, currentProgress, indeterminate, notificationId)
|
showProgressNotification(channelId, title, content, smallIcon, maxProgress, currentProgress, indeterminate, notificationId)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fun checkOverlayPermission(callback: PermissionUtil.ICallback) {
|
||||||
|
PermissionUtil.checkPermission(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, callback)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue