相关疑难解决方法(0)

Android Alarm Manager不适用于Flutter Project App

我在New Flutter应用程序中安装了Android Alarm Manager插件.我使用插件的示例代码 - 但它在控制台中出错.

请建议如何使android报警管理器插件工作.如何将Dart的android_alarm_manager集成到应用程序中,以便用户在计划中选择的时间到达时会收到警报?

我使用此链接中的代码:https: //github.com/flutter/plugins/tree/master/packages/android_alarm_manager

 //////  main.dart://///////

    import 'dart:isolate';
    import 'package:android_alarm_manager/android_alarm_manager.dart';
    import 'package:flutter/material.dart';

    void printHello() {
      final DateTime now = DateTime.now();
      final int isolateId = Isolate.current.hashCode;
      print("[$now] Hello, world! isolate=${isolateId} function='$printHello'");
    }
    void main() async {
      final int helloAlarmID = 0;
      await AndroidAlarmManager.initialize();
      runApp(MaterialApp(home: Application()));
      await AndroidAlarmManager.periodic(const Duration(minutes: 1), helloAlarmID, printHello);
    }
    class Application extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          body: Container(),
        );
      }
    }


///////////////Application.java/////////////////////

    package io.flutter.plugins.androidalarmmanagerexample;
    import io.flutter.app.FlutterApplication; …
Run Code Online (Sandbox Code Playgroud)

android alarmmanager dart flutter

12
推荐指数
2
解决办法
3247
查看次数

java.lang.NullPointerException:尝试调用虚拟方法“android.content.pm.PackageManager”

介绍

\n

我正在运行 flutter v1.17.5 DeviceApps v1.0.10 和 SystemAlertWindow v0.2.2+3 (有意不是最新版本)。我想从在前台运行的系统警报窗口打开我的应用程序,即使应用程序已关闭。

\n

我正在使用SystemOverlayWindow插件,该插件是一个 Activity SystemAlertWindowPlugin.java

\n

在我的Application.kt中,我注册插件并传递注册表

\n
public class Application: FlutterApplication(), PluginRegistrantCallback {\n\n   override fun onCreate() {\n     super.onCreate();\n     FlutterFirebaseMessagingService.setPluginRegistrant(this);\n     SystemAlertWindowPlugin.setPluginRegistrant(this);\n     createNotificationChannels();\n     FlutterMain.startInitialization(this);\n   }\n\n   override fun registerWith(registry: PluginRegistry?) {\n    if (!registry!!.hasPlugin("io.flutter.plugins.firebasemessaging")) {\n      FirebaseMessagingPlugin.registerWith(registry!!.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));\n    }\n    if (!registry!!.hasPlugin("in.jvapps.system_alert_window")) {\n      SystemAlertWindowPlugin.registerWith(registry!!.registrarFor("in.jvapps.system_alert_window"));\n    }\n    if (!registry!!.hasPlugin("fr.g123k.deviceapps")) {\n      DeviceAppsPlugin.registerWith(registry!!.registrarFor("fr.g123k.deviceapps"));\n    }\n   }\n
Run Code Online (Sandbox Code Playgroud)\n

我还注册了另一个名为DeviceApps的插件。这是DeviceAppsPlugin DeviceAppsPlugin.java

\n

问题

\n

简而言之

\n

因此,系统覆盖层(在前台运行)调用 > dart 回调 > 调用 DeviceApps 插件的方法 > 发生错误

\n …

java android android-activity dart flutter

6
推荐指数
1
解决办法
6812
查看次数

标签 统计

android ×2

dart ×2

flutter ×2

alarmmanager ×1

android-activity ×1

java ×1