chrome 桌面通知 Notifications 用法

<script>
function notify(title,content,icon) {
        if (window.webkitNotifications) {
            if (window.webkitNotifications.checkPermission() == 0) {
                var notification_test = window.webkitNotifications.createNotification(icon, title, content);
                notification_test.display = function() {}
                notification_test.onerror = function() {}
               notification_test.onclose = function() {}
               notification_test.onclick = function() {this.cancel();}
               
               notification_test.replaceId = 'Meteoric';
    
               notification_test.show();

           } else {
               window.webkitNotifications.requestPermission(notify);
           }
       } 
   }
</script>
<a href="javascript:notify('标题','内容','/img/1.jpg');">获取权限</a>

由于chrome的安全限制,桌面通知第一次使用时必须获取权限,而获取权限必须通过用户主动事件触发获取,比如单击.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,awesome_notifications 是一个 Flutter 通知插件,可以用于创建和管理本地通知和推送通知。以下是一个用法示例,包括点击通知的回调: ```dart import 'package:awesome_notifications/awesome_notifications.dart'; void main() { WidgetsFlutterBinding.ensureInitialized(); // 初始化通知插件 AwesomeNotifications().initialize( // 设置推送通知的配置 'resource://drawable/res_app_icon', [ NotificationChannel( channelKey: 'basic_channel', channelName: 'Basic notifications', channelDescription: 'Notification channel for basic tests', defaultColor: Color(0xFF9D50DD), ledColor: Colors.white, importance: NotificationImportance.High, channelShowBadge: true, playSound: true, enableVibration: true, ) ] ); // 定义通知的内容 NotificationContent content = NotificationContent( id: 10, channelKey: 'basic_channel', title: 'Title', body: 'Body', bigPicture: 'https://source.unsplash.com/random/800x600', notificationLayout: NotificationLayout.BigPicture, payload: {'uuid': 'user-profile-uuid'} ); // 创建本地通知 AwesomeNotifications().createNotification(content: content); // 点击通知的回调 AwesomeNotifications().actionStream.listen((receivedNotification) { // 获取通知的 payload Map<String, dynamic> payload = receivedNotification.payload; // 处理通知的点击事件 if (payload['uuid'] == 'user-profile-uuid') { // 打开用户资料页面 Navigator.push( context, MaterialPageRoute(builder: (context) => UserProfilePage()) ); } }); } ``` 在上述示例中,我们首先通过 `AwesomeNotifications().initialize()` 方法初始化通知插件,并设置推送通知的配置。然后使用 `NotificationContent` 类定义了一个通知的内容,并使用 `AwesomeNotifications().createNotification()` 方法创建了一个本地通知。最后,我们通过 `AwesomeNotifications().actionStream` 监听了通知的点击事件,并根据通知的 payload 处理了相应的点击事件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值