Flutter中Android Alarm Manager Plus初始化报错求助
解决Android Alarm Manager Plus的MissingPluginException问题
步骤1:创建自定义Application类(适配你的Kotlin项目)
在路径 flutter_project_root\android\app\src\main\kotlin\com\example\snooze_test\ 下新建文件 MainApplication.kt,粘贴以下代码:
import io.flutter.app.FlutterApplication import io.flutter.plugin.common.PluginRegistry import io.flutter.plugins.GeneratedPluginRegistrant import dev.fluttercommunity.plus.androidalarmmanager.AlarmService class MainApplication : FlutterApplication(), PluginRegistrantCallback { override fun onCreate() { super.onCreate() AlarmService.setPluginRegistrant(this) } override fun registerWith(registry: PluginRegistry?) { GeneratedPluginRegistrant.registerWith(registry) } }
步骤2:修改AndroidManifest.xml配置
打开 flutter_project_root\android\app\src\main\AndroidManifest.xml,找到 <application> 标签,添加 android:name=".MainApplication" 属性,修改后示例:
<application android:name=".MainApplication" android:label="snooze_test" android:icon="@mipmap/ic_launcher"> <!-- 其他原有内容保持不变 --> </application>
步骤3:清理并重启项目
- 执行终端命令:
flutter clean - 重启你的开发IDE(Android Studio/VS Code)
- 重新运行Flutter项目
可选:Java版本的Application类(如果偏好Java)
若你更倾向用Java,在路径 flutter_project_root\android\app\src\main\java\com\example\snooze_test\ 新建 MainApplication.java,代码如下:
import io.flutter.app.FlutterApplication; import io.flutter.plugin.common.PluginRegistry; import io.flutter.plugins.GeneratedPluginRegistrant; import dev.fluttercommunity.plus.androidalarmmanager.AlarmService; public class MainApplication extends FlutterApplication implements PluginRegistry.PluginRegistrantCallback { @Override public void onCreate() { super.onCreate(); AlarmService.setPluginRegistrant(this); } @Override public void registerWith(PluginRegistry registry) { GeneratedPluginRegistrant.registerWith(registry); } }
同样修改AndroidManifest.xml的<application>标签的android:name属性为.MainApplication即可。
内容的提问来源于stack exchange,提问作者Shehan DMG
相关产品推荐
相关产品推荐

