![](/img/trans.png)
[英]FirebaseMessaging: App not showing notification when screen is locked or some other app is open iOS Flutter
[英]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.