[英]Flutter: Schedule notification not working
I am developing a app using Flutter.我正在使用 Flutter 开发一个应用程序。
To show notification I an using flutter_local_notifications package.为了显示通知,我使用了flutter_local_notifications包。
I am getting notification, but schedule notification is not working.我收到通知,但日程通知不起作用。
Similar question was asked here How do I schedule a notification in Flutter?此处提出了类似的问题如何在 Flutter 中安排通知? , but my receiver is already inside the
application
tag. ,但我的接收器已经在
application
标签内。
Here is my manifest这是我的清单
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.folk.gayatrimonitor">
<!-- The INTERNET permission is required for development. Specifically,
flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
calls FlutterMain.startInitialization(this); in its onCreate method.
In most cases you can leave this as-is, but you if you want to provide
additional functionality it is fine to subclass or reimplement
FlutterApplication and put your custom class here. -->
<application
android:name="io.flutter.app.FlutterApplication"
android:label="gayatri_monitor"
android:icon="@mipmap/ic_launcher">
<receiver android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationReceiver" />
<receiver android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- This keeps the window background of the activity showing
until Flutter renders its first frame. It can be removed if
there is no splash screen (such as the default splash screen
defined in @style/LaunchTheme). -->
<meta-data
android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
android:value="true" />
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
adding this inside application of your manifest might solve your problem在清单的应用程序中添加此内容可能会解决您的问题
<service android:name="com.folk.localnotifications.services.LocalNotificationsService"
android:exported="false" />
Remember: com.folk is used for this project only.请记住:com.folk 仅用于此项目。 For different project, go to your manifest, see package name and edit accordingly.
对于不同的项目,请转到您的清单,查看包名称并进行相应的编辑。
I had the same problem but couldn't find the solution online, however, later I did figure out running flutter clean
then flutter run
seems to do the trick for me.我遇到了同样的问题,但在网上找不到解决方案,但是,后来我确实发现运行
flutter clean
然后flutter run
似乎对我有用。
You have to essentially clean your build and rebuild it again.您必须从根本上清理您的构建并再次重建它。 Hope that helps.
希望有帮助。
我遇到了同样的问题,我通过为我发出的每个 android 通知创建一个单独的通知通道来解决它,即使它们具有相同的优先级。
In my case, I just added the following inside initState()
就我而言,我只是在
initState()
中添加了以下内容
var initializationSettingsAndroid =
AndroidInitializationSettings('@mipmap/ic_launcher');
var initializationSettingsIOS = IOSInitializationSettings();
var initializationSettings = InitializationSettings(
android: initializationSettingsAndroid, iOS: initializationSettingsIOS);
flutterLocalNotificationsPlugin.initialize(
initializationSettings,
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.