Commit 0204f71da55268ff954e6b42debc4589a65846af

Authored by 常守达
1 parent 717b5e84

fix(notification): 通知权限

... ... @@ -212,6 +212,13 @@ class TodayController extends GetMaterialController {
showNotificationAuthorizationBanner.value = false;
} else {
try {
final status = await _platformHostApi.getApnsAuthStatus();
if (status == 1) {
showNotificationAuthorizationBanner.value = false;
} else {
showNotificationAuthorizationBanner.value = true;
}
Permission.notification.status.then((status) {
if (status.isGranted) {
showNotificationAuthorizationBanner.value = false;
... ... @@ -509,20 +516,19 @@ class TodayController extends GetMaterialController {
Future<void> checkNotificationCardVisible() async {
try {
Permission.notification.status.then((status) {
ta.setSuperProperties(
{'notification_permission': status.isGranted ? 1 : 0});
// if (status.isGranted) {
// return;
// }
final status = await _platformHostApi.getApnsAuthStatus();
// if (status.isPermanentlyDenied) {
// // await openAppSettings();
// return;
// }
ta.setSuperProperties({'notification_permission': status == 1 ? 1 : 0});
// if (status.isGranted) {
// return;
// }
// final result = await Permission.notification.request();
});
// if (status.isPermanentlyDenied) {
// // await openAppSettings();
// return;
// }
// final result = await Permission.notification.request();
} catch (error) {
AppLogger.e('Notification authorization failed: $error');
}
... ... @@ -825,14 +831,14 @@ class TodayController extends GetMaterialController {
Future<void> requestNotificationAuthorization() async {
try {
final status = await Permission.notification.status;
final status = await _platformHostApi.getApnsAuthStatus();
if (status.isGranted) {
if (status == 1) {
// 已授权,无需再请求
return;
}
if (status.isPermanentlyDenied) {
if (status == -1) {
// 用户永久拒绝(Android),引导去设置
await openAppSettings();
return;
... ...
... ... @@ -276,14 +276,14 @@ class UserOnboardingController extends GetxController {
Future<void> requestNotificationAuthorization() async {
try {
final status = await Permission.notification.status;
final status = await _platformHostApi.getApnsAuthStatus();
if (status.isGranted) {
if (status == 1) {
// 已授权,无需再请求
return;
}
if (status.isPermanentlyDenied) {
if (status == -1) {
// 用户永久拒绝(Android),引导去设置
await openAppSettings();
return;
... ...