Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从android报警管理器调用Flatter\u local\u通知时出现问题,运行时会出现MissingPluginException_Java_Android_Flutter_Background Service - Fatal编程技术网

Java 从android报警管理器调用Flatter\u local\u通知时出现问题,运行时会出现MissingPluginException

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应用程序的一个功能,在这个功能中,用户将每隔15分钟通过一个通知横幅被提醒一些事情。由于此提醒的间隔相当长,我打算在后台运行一个后台服务,该服务将通过某种报警管理器进行交互,该报警管理器将执行代码以间歇显示通知。另外,请注意,提醒的间隔不需要精确

我的实施计划是统一使用两个颤振包(
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)
...