嗨我想在flutter中实现推送通知如何显示为通知可以任何一个帮助,我能够听,因为我收到通知但我无法看到消息,它显示为警报,但我想作为通知可以任何一个帮助,在Android或iOS我们应该在清单文件和应用程序委托文件中的这个在颤动

我的代码看起来像这样

class PushMessagingExample extends StatefulWidget {

@override

_PushMessagingExampleState createState() => new _PushMessagingExampleState();

}

class _PushMessagingExampleState extends State {

String _homeScreenText = "Waiting for token...";

bool _topicButtonsDisabled = false;

final FirebaseMessaging _firebaseMessaging = new FirebaseMessaging();

final TextEditingController _topicController =

new TextEditingController(text: 'topic');

Future _showItemDialog(Map message) async {

final Item item = _itemForMessage(message);

showDialog(

context: context,

child: new AlertDialog(

content: new Text("Item ${message} has been updated"),

actions: [

new FlatButton(

child: const Text('CLOSE'),

onPressed: () {

Navigator.pop(context, false);

}),

new FlatButton(

child: const Text('SHOW'),

onPressed: () {

Navigator.pop(context, true);

}),

],

)).then((bool shouldNavigate) {

if (shouldNavigate == true) {

_navigateToItemDetail(message);

}

});

}

Future _navigateToItemDetail(Map message) async {

final Item item = _itemForMessage(message);

// Clear away dialogs

Navigator.popUntil(context, (Route route) => route is PageRoute);

if (!item.route.isCurrent) {

Navigator.push(context, item.route);

}

}

@override

void initState() {

super.initState();

_firebaseMessaging.configure(

onMessage: (Map message) {

print("onMessage: $message");

print(message);

_showItemDialog(message);

},

onLaunch: (Map message) {

print("onLaunch: $message");

print(message);

_navigateToItemDetail(message);

},

onResume: (Map message) {

print("onResume: $message");

print(message);

_navigateToItemDetail(message);

},

);

_firebaseMessaging.requestNotificationPermissions(

const IosNotificationSettings(sound: true, badge: true, alert: true));

_firebaseMessaging.onIosSettingsRegistered

.listen((IosNotificationSettings settings) {

print("Settings registered: $settings");

});

_firebaseMessaging.getToken().then((String token) {

assert(token != null);

setState(() {

_homeScreenText = "Push Messaging token: $token";

});

print(_homeScreenText);

});

}

@override

Widget build(BuildContext context) {

return new Scaffold(

body: new Material(

child: new Column(

children: [

new Center(

child: new Text(_homeScreenText),

),

],

),

));

}

}

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐