簡體   English   中英

Flutter:當通知從 FirebaseMessaging 到達時如何打開應用程序(無需用戶操作)

[英]Flutter: How to open the App when notification arrives from FirebaseMessaging (without user action)

我正在開發一個通信應用程序,目前正在實現視頻和語音通話。 我希望當通知到達應用程序時,我希望應用程序在特定屏幕上打開。 我通過顯示通知做了類似的事情,當用戶按下通知時應用程序打開。 但是當來電時,我希望應用程序在沒有用戶操作的情況下打開。

我嘗試使用external_app_launcher打開應用程序,但它沒有打開。 這是代碼。

Future<void> firebaseMessagingBackgroundHandler(RemoteMessage message) async {
  await Firebase.initializeApp();

  print('Message In background: ${message.data}');
  LaunchApp.openApp(androidPackageName: "com.example.chat_app"); 
  
}

這是我試圖打開應用程序的代碼。 這是我顯示通知的舊代碼(它可以正常工作)

Future<void> firebaseMessagingBackgroundHandler(RemoteMessage message) async {
  await Firebase.initializeApp();

  print('Message In background: ${message.data}');
  var initializationSettingsAndroid =
      const AndroidInitializationSettings('@mipmap/ic_launcher');
  var initializationSettingsIOs = const IOSInitializationSettings();
  var initializationSettings = InitializationSettings(
    android: initializationSettingsAndroid,
    iOS: initializationSettingsIOs,
  );

  //when the app is in foreground state and you click on notification.
  flutterLocalNotificationsPlugin.initialize(initializationSettings,
      onSelectNotification: (String? payload) {
    if (payload != null) {
      Map<String, dynamic> data = json.decode(payload);
      goToNextScreen(data, true);
    }
  });
  flutterLocalNotificationsPlugin.show(
      Random().nextInt(1000000000),
      message.data['title'],
      message.data["body"],
      NotificationDetails(
        android: AndroidNotificationDetails(channel.id, channel.name,
            channelDescription: channel.description,
            importance: Importance.max,
            priority: Priority.high,
            playSound: true,
            sound: RawResourceAndroidNotificationSound("ringtone1"),
            fullScreenIntent: true),
      ),
      payload: json.encode(message.data));
}

據我所知,在收到 FCM 消息時無法自動打開應用程序。

作為用戶,我可能會立即卸載執行此操作的任何應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM