flutter - 使用警报管理器启动应用程序的正确方法是什么?
问题描述
我需要实现一个通过警报管理器打开的颤振警报应用程序。似乎有办法使用 android_intent 和 android_alarm_manager_plus 来做到这一点。我一直在寻找创建此类功能的正确方法,但此选项不起作用:
await AndroidAlarmManager.oneShot(
Duration(seconds: 2), 1, setAlarm);
void setAlarm()async{
AndroidIntent intent =
AndroidIntent(action: 'action_view', package: 'com.example.test_alarm');
await intent.launch().catchError((e) {
print(e.toString());
});
}
调试控制台给出了这个:
I/IntentSender( 4886): Cannot resolve explicit intent - ignoring package
V/IntentSender( 4886): Sending intent Intent { act=android.intent.action.VIEW (has extras) }
解决方案
尝试使用https://pub.dev/packages/app_launcher
void setAlarm() async{
await AppLauncher.openApp(
androidApplicationId: "com.example.test_alarm",
);
}
推荐阅读
- javascript - 如何在 c# 中使用 chromium 网络浏览器获取 javascript 的返回值
- php - WHMCS 自定义域注册模块
- node.js - Firebase Cloud Firestore 如何设置 snapShotOptions
- c# - 有没有更好的方法来编写 LINQ 函数?
- javascript - 在 js 对象中使用 getter 函数,为什么我的代码不起作用?
- django - 在 django 项目中定位和读取特定 .env 文件时出错
- java - 调用 Java 类方法来处理 EditTexts 的值
- angular - 如何在下次提交表单之前隐藏错误消息
- c++ - 自 c++17 以来,复制省略不需要复制或移动 ctor 的存在和可访问性
- java - 如何输入充满未知变量值的一维数组