当前位置: 首页 > 知识库问答 >
问题:

Android-使用NotificationListener服务接收日历提醒通知

叶越
2023-03-14

我在使用NotificationListener服务时遇到两个问题

  1. 我在应用程序中使用了NotificationListenerService类。此侦听器#onNotificationPost方法接收所有通知。

我的代码如下所示

public class MyListener extends NotificationListenerService 
{
     public void onNotificationPosted(StatusBarNotification statusBarNotification)
     {
       //Receive all notification.
       // I need to receive reminder notification only
     }
 //.....
 ......
}
//My Manifiest like below
 <service
        android:name=".MyListener"
        android:enabled="true"
        android:label="@string/app_name"
        android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
        <intent-filter>
            <action android:name="android.service.notification.NotificationListenerService"/>
        </intent-filter>
    </service>

如何在通知访问对话框中更改上述消息?

共有1个答案

长孙景焕
2023-03-14

如何添加筛选器只接收日历提醒通知?

>

  • 要筛选Google的日历,我们可以使用StatusBarNotification.GetPackageName来侦听以com.google.android.Calendar包名发布的通知。

    若要筛选提醒通知,我们可以使用notification.category_resment监听使用resment类别发布的通知。(API 23+)

    public class ReminderListenerService extends NotificationListenerService {
    
        private static final String CALENDAR_PKG = "com.google.android.calendar";
    
        @Override
        public void onNotificationPosted(StatusBarNotification sbn) {
            final Notification noti = sbn.getNotification();
            // Filter for the Calendar application
            final boolean isCalendar = CALENDAR_PKG.equals(sbn.getPackageName());
            // Filter for Notification.CATEGORY_REMINDER (API 23+)
            final boolean isReminder = Notification.CATEGORY_REMINDER.equals(noti.category);
            // Retrieve the reminder
            final String reminder = noti.extras.getString(Notification.EXTRA_TITLE);
        }
    
    }
    
    startActivity(new Intent(Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS)
    

  •  类似资料:
    • 本文向大家介绍详解Android中Notification通知提醒,包括了详解Android中Notification通知提醒的使用技巧和注意事项,需要的朋友参考一下 在消息通知时,我们经常用到两个组件Toast和Notification。特别是重要的和需要长时间显示的信息,用Notification就最 合适不过了。当有消息通知时,状态栏会显示通知的图标和文字,通过下拉状态栏,就可以看到通知信息

    • 我正在使用API explorer和Chrome Advanced Rest Client根据给定的示例观看事件资源。https://developers.google.com/google-apps/calendar/v3/push#watch_request_examples 要求 回应 > 我在google上搜索了这个问题,但找不到太多帮助。 有人能告诉我,请求有什么问题吗?

    • Display a notification message globally. Basic The simplest usage that close the notification box after 4.5s. <w class="button-container"> <button ref="notification-basic" class="btn btn-primary">Op

    • 我已经安装了一个XMPP服务器,并在android上使用smack做了一个客户端应用程序,一切都很好,但我正在更新的手机上测试应用程序,它不再工作了。 Android杀死了等待消息的服务(当用户关闭应用程序时杀死服务),我一直在读,人们说我应该使用FCM,但我想使用我自己的消息服务器,因为我在XMPP服务器上添加了一些特殊的用户管理逻辑。我不知道我是否可以使用FCM sdk来获取我自己的消息并从那

    • 我有一个web应用程序,我使用office 365登录(sharepoint)来验证用户,然后重定向到我的web应用程序。 现在我想访问登录的Office 365用户的日历并添加事件,获取日历列表等。我已经查看了Office 365 API,但它使用我不想使用的OAuth2身份验证。 因此,我选择了Exchange eService API,但它需要用户的Networks凭据,这意味着我必须为每个

    • 我们正在尝试使用EWS管理的应用编程接口集成办公365。我们使用办公365管理中心创建了一个具有模拟角色的服务号。现在,我们如何使用该服务号访问应用程序中其他用户的数据(如邮件、联系人、日历)?谢谢,罗希特