无法使用颤振在android中获取后台通知
Posted
技术标签:
【中文标题】无法使用颤振在android中获取后台通知【英文标题】:Can not get background notifications in android using flutter 【发布时间】:2021-11-02 04:08:29 【问题描述】:我正在使用 FCM 通过颤振推送通知,前台通知效果很好,但在后台时它没有收到任何通知。
这是我的代码
class Home extends StatefulWidget
@覆盖 _HomeState createState() => _HomeState();
class _HomeState extends State<Home>
String token = '';
final FirebaseMessaging firebaseMessaging = FirebaseMessaging.instance;
@override
void initState()
getToken();
firebaseMessaging.requestPermission(
alert: true, badge: true, provisional: true, sound: true);
FirebaseMessaging.onMessage.listen((RemoteMessage message)
print("onMessage: $message");
);
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message)
print("onMessageOpenedApp: $message");
);
super.initState();
void getToken() async
token = (await firebaseMessaging.getToken())!;
@override
Widget build(BuildContext context)
return Scaffold(
body: Center(child: Text("Token : $token")),
floatingActionButton: FloatingActionButton(
onPressed: ()
print(token);
,
child: Icon(Icons.print),
),
);
【问题讨论】:
代码在您的帖子中不可见。是否允许通知权限? 现在显示@HuthaifaMuayyad 【参考方案1】:您需要定义一个***的命名处理程序, 自上次 firebase_messaging 10.0.6 以来。通知将在后台运行 首先更新你的 firebase_messaging 10.0.6
/// 定义一个***的命名处理程序,后台/终止消息将 /// 称呼。 /// /// 要验证一切是否正常,请查看本机平台日志。
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async
// If you're going to use other Firebase services in the background, such as Firestore,
// make sure you call `initializeApp` before using other Firebase services.
await Firebase.initializeApp();
print('Handling a background message $message.messageId');
查看完整示例:firebase_messaging/example
如果你需要一个真实的项目示例complete example
【讨论】:
不幸的是我添加了它,它不起作用 你做错事了@以上是关于无法使用颤振在android中获取后台通知的主要内容,如果未能解决你的问题,请参考以下文章
Flutter Push Notifications:无法在后台或应用关闭时接收通知
当应用程序被杀死时,无法在推送通知单击时导航到特定屏幕(Flutter android)
对于Xamarin Android,我无法处理点击事件的后台通知