我正在使用flatter构建一个Android应用程序。我的应用程序需要显示本地通知。我在用这个软件包,
https://pub.dev/packages/flutter_local_notifications
.当我在模拟器上显示通知时,它正在工作。但当我编译release APK并将其安装到实际设备上时,它不起作用。
这是NotificationService类
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
class NotificationService
{
static FlutterLocalNotificationsPlugin? flip;
static FlutterLocalNotificationsPlugin getFlipInstance()
{
if (flip == null) {
flip = FlutterLocalNotificationsPlugin();
// app_icon needs to be a added as a drawable
// resource to the Android head project.
var android = const AndroidInitializationSettings('@mipmap/ic_launcher');
var ios = const IOSInitializationSettings();
var settings = InitializationSettings(android: android, iOS: ios);
flip!.initialize(settings);
}
return flip as FlutterLocalNotificationsPlugin;
}
static Future showNotification(String title, String body) async {
var androidPlatformChannelSpecifics = const AndroidNotificationDetails("your channel id", "my channel name");
var iOSPlatformChannelSpecifics = const IOSNotificationDetails();
// initialise channel platform for both Android and iOS device.
var platformChannelSpecifics = NotificationDetails(android: androidPlatformChannelSpecifics, iOS: iOSPlatformChannelSpecifics);
await getFlipInstance().show(0, title,
body,
platformChannelSpecifics, payload: 'Default_Sound'
);
}
}
我在主页的initState方法中显示这样的通知。
@override
void initState() {
super.initState();
setState(() {
NotificationService.showNotification("Local Notification", "Local Notification Message");
}
正如我提到的,它在模拟器上工作。但是,当我生成一个APK并将其安装到真正的设备上时,它不起作用。