繁体   English   中英

如何在 android 设备上默认启用通知?

[英]How to enable the Notification by default on android devices?

我最近实施了 flutter_local_notifications 并且通知工作正常。 但是有一个问题是默认情况下通知不会显示为弹出窗口。 默认情况下,该选项在通知设置中处于禁用状态。

我的代码是这样的:

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  ServiceContainer.initialize(Injector());

  SystemChrome.setPreferredOrientations(
      [DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]);

  await PreferenceHelper.create();
  FirebaseMessaging messaging = FirebaseMessaging.instance;
  await messaging.requestPermission(
    alert: true,
    badge: true,
    sound: true,
    provisional: false,
  );
  await FirebaseMessaging.instance.requestPermission();

  await FirebaseMessaging.instance.setForegroundNotificationPresentationOptions(
    alert: true,
    badge: true,
    sound: true,
  );

  SystemChrome.setSystemUIOverlayStyle(
      const SystemUiOverlayStyle(statusBarColor: Colors.transparent));

  runApp(const App());
  await [Permission.storage, Permission.notification].request();
}

您需要请求通知权限

请求 Android 13 或更高权限

从 Android 13(API 级别 33)开始,应用程序现在可以显示提示,用户可以在其中决定是否要授予应用程序显示通知的权限。 有关此问题的进一步阅读,请阅读https://developer.android.com/guide/topics/ui/notifiers/notification-permission 要支持此应用程序,需要将其应用程序定位到 Android 13 或更高版本,并且编译 SDK 版本需要至少为 33 (Android 13)。 例如,要以 Android 13 为目标,请将应用程序的 build.gradle 文件更新为 targetSdkVersion 为 33。然后,应用程序可以调用以下代码来请求权限,其中 requestPermission 方法与 AndroidFlutterLocalNotificationsPlugin class(即插件的 8815603834098 实现)8 相关联

这就是你如何做的。

FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
        FlutterLocalNotificationsPlugin();
flutterLocalNotificationsPlugin.resolvePlatformSpecificImplementation<
    AndroidFlutterLocalNotificationsPlugin>().requestPermission();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM