|
...
|
...
|
@@ -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;
|
...
|
...
|
|