Java 从android报警管理器调用Flatter\u local\u通知时出现问题,运行时会出现MissingPluginException
我正在尝试实现我的flatter应用程序的一个功能,在这个功能中,用户将每隔15分钟通过一个通知横幅被提醒一些事情。由于此提醒的间隔相当长,我打算在后台运行一个后台服务,该服务将通过某种报警管理器进行交互,该报警管理器将执行代码以间歇显示通知。另外,请注意,提醒的间隔不需要精确 我的实施计划是统一使用两个颤振包(Java 从android报警管理器调用Flatter\u local\u通知时出现问题,运行时会出现MissingPluginException,java,android,flutter,background-service,Java,Android,Flutter,Background Service,我正在尝试实现我的flatter应用程序的一个功能,在这个功能中,用户将每隔15分钟通过一个通知横幅被提醒一些事情。由于此提醒的间隔相当长,我打算在后台运行一个后台服务,该服务将通过某种报警管理器进行交互,该报警管理器将执行代码以间歇显示通知。另外,请注意,提醒的间隔不需要精确 我的实施计划是统一使用两个颤振包(flatter\u local\u notification和android\u alarm\u manager)。我不能单独使用flatter\u local\u通知,因为重复通知的间
flatter\u local\u notification
和android\u alarm\u manager
)。我不能单独使用flatter\u local\u通知
,因为重复通知的间隔限制为一分钟、一小时、一天等等,而我的应用程序的间隔必须为15分钟。这样,我就从flatter\u local\u notification
包中完全删除了调度功能,并将该职责交给android\u alarm\u manager
我通过为每个包创建单独的类来使用这两个包。flatter\u local\u notifications
包的第一个类类似于本文中的一个类:。另一方面,android\u alarm\u manager
的类在notification\u alarm\u manager.dart
中有以下实现:
class NotificationAlarmManager {
NotificationAlarmManager() {
AndroidAlarmManager.initialize();
}
//I used interval in seconds here only for testing
void startNotifications(int intervalInSeconds) async {
await AndroidAlarmManager.periodic(
Duration(seconds: intervalInSeconds),
0,
_showRepeatingNotification,
);
print('Periodic alarm initialized');
}
static void _showRepeatingNotification() async {
print('Repeating notification will be shown');
var notification = LocalNotificationsPlugin();
await notification.showSingleNotification();
}
}
该类通过以下实现从main
函数实例化:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
var alarmManager = NotificationAlarmManager();
runApp(CushionSensorApp(alarmManager));
}
从app
状态的initState()
功能启动通知,如下所示:
class _CushionSensorAppState extends State<CushionSensorApp> {
@override
void initState() {
...
this.widget.alarmManager.startNotifications(15);
}
...
}
是的,我已经遵循了安卓报警管理器的所有初始要求(添加权限、接收者)。另外,我已经添加了自定义的Application.java
文件作为覆盖,并将android:name
更改为.Application
。我甚至尝试过使用这个Github问题中的Kotlin文件,但仍然不起作用
有关我的代码()的详细信息,请参阅我的存储库
MissingPluginException(No implementation found for method initialize on channel dexterous.com/flutter/local_notifications)
...