发明内容
为解决现有技术的上述缺陷,本发明提供一种告警展示方法及装置。
一方面,本发明提供一种告警展示方法,包括:
步骤1,在桌面创建告警图标,设置所述告警图标作为告警界面入口;
步骤2,当告警事件发生时,弹出通知栏,所述通知栏中展示简要告警信息;
步骤3,接收进入告警界面请求,显示告警界面,所述告警界面包括告警列表界面和所述告警信息的详情界面。
其中,所述步骤3中,所述接收进入告警界面请求,显示告警界面包括:
接收点击通知栏请求,显示所述告警信息的详情界面,所述告警详情界面显示告警详细信息。
其中,所述告警详细信息至少包括告警级别、告警原因、告警产生时间和告警确认时间。
其中,所述步骤3中,所述接收进入告警界面请求,显示告警界面还包括:
接收点击告警图标请求,显示告警列表界面;所述告警列表界面显示历史告警信息,所述历史告警信息按照告警产生时间顺序排列。
其中,所述告警列表界面设置点击事件监听,通过点击告警列表项跳转至对应告警信息的详情界面。
其中,所述告警列表界面中,包括不同告警级别的所述告警信息,根据所述告警信息的所述告警级别,在所述告警列表中显示不同的颜色。
其中,所述告警详细信息对应的告警数据保存到数据集合AlarmArray中,所述数据集合以Java中ArrayList数组队列实现;所述告警数据通过调用arrayList.add添加保存。
其中,所述接收点击通知栏请求,显示所述告警信息的详情界面具体包括:
当接收点击通知栏请求,显示告警信息的详情界面时,Intent携带有index参数,通过Index.getExtra(“index”)获取索引值index,再根据index在所述告警数据集合AlarmArray中的位置获取对应的告警数据,告警数据调用AlarmArray.get(index)获取,告警信息的详情界面根据所述告警数据展示对应的告警详细信息。
其中,所述告警列表界面设置点击事件监听,通过点击告警列表项跳转至对应告警信息的详情界面具体包括:
通过调用OnClickListener实现监听,重写onClick方法,在onClick方法中实现所述点击事件要实现的逻辑,所述逻辑为当告警列表项被点击时,跳转至对应告警信息的详情界面。
另一方面,本发明还提供一种告警显示装置,包括:
创建模块,用于在桌面创建告警图标,设置所述告警图标作为告警界面入口;
提示模块,用于当告警事件发生时,弹出通知栏,所述通知栏中展示简要告警信息;
展示模块,用于接收进入告警界面请求,显示告警界面,所述告警界面包括告警列表界面和所述告警信息的详情界面。
本发明提供的告警展示方法及装置,通过设置桌面图标为告警界面入口,并且在告警事件发生时,实时将告警事件以通知栏的形式展示,用户可以通过点击通知栏跳转至告警界面,也可以随时点击桌面图标进入告警界面。实现了在不影响应用的独立性的前提下,及时提示告警,并提供方便的入口查看,不依赖其他设备,提高了告警平台的易用性和使用意义。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为根据本发明实施例提供的告警展示方法流程示意图,如图1所示,该方法包括:
步骤S1,在桌面创建告警图标,设置所述告警图标作为告警界面入口;步骤S2,当告警事件发生时,弹出通知栏,所述通知栏中展示简要告警信息;步骤S3,接收进入告警界面请求,显示告警界面,所述告警界面包括告警列表界面和所述告警信息的详情界面。
其中,步骤S1中,在桌面创建告警图标,设置所述告警图标作为告警界面入口,安卓系统中可通过设置界面Activity(安卓中界面的组件类型)的参数实现应用的多入口,实现除应用自身入口外的额外入口,即桌面快捷方式。
在一个实施例中,实现方式为设置告警界面(ApmAlarmActivity)的属性android:taskAffinity="apm_alarm",表示告警界面(ApmAlarmActivity)运行在apm_alarm这个任务中,应用运行在自身的任务中,设置所述告警图标作为告警界面入口:<categoryandroid:name="android.intent.category.LAUNCHER"/>。通过设置告警图标为告警界面入口,提供了一个告警展示的入口,在不影响应用代码,功能和界面的情况下,随时查看历史告警信息,方便获取有用的告警信息。
其中,步骤S2中,当告警事件发生时,服务器以通知栏的形式通知开发和测试人员,通知栏中展示简要告警信息。
具体地,以该方法实现在安卓系统中为例,具体实现方式为,将告警详细信息对应的告警数据保持到数据集合AlarmArray中,便于告警事件存储及展示查看。数据集合以Java中ArrayList数组队列实现。通过调用arrayList.add添加保存。该告警数据的索引值index为arrayList.size()-1,其中arrayList.size()为数组队列的大小。
进一步地,定义Intent,调用new Intent(ApmAlarmActivity.class)新建Intent,并设置参数Intent.putExtra("index",index),Intent为Android中意图组件定义点击通知的事件,表示跳转到告警界面ApmAlarmActivity类的意图,并将索引值index作为参数携带,定义PendingIntent为PendingIntent.getActivity(Intent),其中PendingIntent为Android中延迟意图组件,用于在特殊事件结束后执行的动作。将带有索引值index的事件跳转到告警界面ApmAlarmActivity类的意图Intent设置到PendingIntent中,新建Notification,Notification为Android中的通知组件。设置通知栏告警标题Notification.setContentTitle,设置通知栏告警内容Notification.setContentText,设置点击后的事件Notification.setContentIntent(PendingIntent),并通过NotificationManager.notify(Notification)创建并显示通知栏。其中,NotificationManager通过获取系统服务(getSystemService)得到。
通过在告警事件发生时,以通知栏的形式通知开发和测试人员,并展示简要信息。实现了当警告事件发生时,实时提示开发和测试人员发生了告警,并通过通知栏简要的展示告警的内容,开发和测试人员可点击通知栏直接跳转到告警界面,并通过索引值直接查看该告警的详细信息。也可以不做处理,在需要查看告警信息时直接点击桌面的告警图标进入告警界面查看告警列表。告警通知栏展示的方式实现了告警产生时不打断原有应用的流程,同时达到及时提醒开发和测试人员的效果。
其中,步骤S3中,服务器接收点击通知栏请求,显示所述告警信息的详情界面,所述告警信息的详情界面显示告警详细信息。服务器接收点击告警图标请求,显示告警列表界面。
具体地,当告警事件发生时,用户可以通过点击通知栏,进入告警信息的详情界面;用户也可以点击桌面告警图标,进入告警列表界面。告警列表界面显示历史告警信息,所述历史告警信息按照告警产生时间顺序排列。
进一步地,当用户从通知栏或告警列表项点击跳转至告警信息的详情界面时,Intent携带有index参数,通过Index.getExtra(“index”)获取索引值index,再根据index在告警数据集合AlarmArray中的位置获取对应的告警数据,告警数据调用AlarmArray.get(index)获取。告警详情界面根据告警数据展示告警详细信息。用户也可以点击桌面告警图标,进入告警列表界面,查看历史告警信息。
例如,在测试人员测试一款安卓应用时,对该安卓应用进行性能监控,当该安卓应用的内存占用过高时,服务器通过通知栏实时提示测试人员,该应用内存占用过高。测试人员点击通知栏进入告警信息的详情界面,查看该告警事件的告警详细信息。测试人员也可以在测试过程中随时点击桌面告警图标,进入告警列表界面,查看历史告警信息。当未发生任何告警事件时,告警列表界面显示无历史告警信息。
本发明实施例提供的告警展示方法,通过设置桌面图标为告警界面入口,并且在告警事件发生时,实时将告警事件以通知栏的形式展示,用户可以通过点击通知栏跳转至告警界面,也可以随时点击桌面图标进入告警界面。实现了在不影响应用的独立性的前提下,及时提示告警,并提供方便的入口查看,不依赖其他设备,提高了告警平台的易用性和使用意义。
在上述实施例的基础上,所述告警列表界面设置点击事件监听,通过点击告警列表项跳转至对应告警信息的详情界面。
具体地,通过调用OnClickListener实现监听,重写onClick方法,在onClick方法中实现所述点击事件要实现的逻辑,所述逻辑为当告警列表项被点击时,跳转至对应告警信息的详情界面。通过定义Intent,调用new Intent(ApmAlarmActivity.class)新建Intent,并设置参数Intent.putExtra("index",index),其中index为点击的项在列表中的位置,并通过startActivity(Intent)启动界面,跳转至告警详情界面。用户既可以在告警发生时及时的从通知栏点击进入查看告警详细信息,也可以操作测试完成后点击告警图标进入告警列表界面,并从告警列表界面进入查看告警详细信息。
例如,在测试人员测试一款安卓应用时,想要查看历史告警信息,则点击桌面告警图标进入告警列表界面,测试人员点击告警列表中“内存占用过高”的一条告警事件,跳转至该告警事件的详情界面,方便测试人员随时查看该告警事件的详细信息。
在上述实施例的基础上,所述告警详细信息至少包括告警级别、告警原因、告警产生时间和告警确认时间。
具体地,用户进入告警信息的详情界面,查看告警详细信息,可查看告警级别、告警原因、告警产生时间和告警确认时间等。
例如,在测试人员测试一款安卓应用时,对该安卓应用进行性能监控,在15:00,该安卓应用的内存占用过高时,服务器通过通知栏实时提示测试人员,该应用内存占用过高。测试人员于15:02点击通知栏进入告警信息的详情界面,查看该告警事件的告警详细信息。告警详情界面显示,告警级别为高级,告警原因为内存占用过高,告警产生时间为15:00,告警确认时间为15:02。测试人员通过查看告警详细信息来获取自己需要的有用信息。
在上述各实施例的基础上,所述告警列表界面中,包括不同告警级别的所述告警信息,根据所述告警信息的所述告警级别,在所述告警列表中显示不同的颜色。
在本实施例中,告警信息分为三个级别,分别为高级、中级和低级,高级告警信息在告警列表中显示为红色,中级告警信息和低级告警信息在告警列表中分别显示为粉红色和黑色。当发生告警事件时,服务器发出告警提示音。通过对于不同级别的告警信息以不同的颜色显示,使用户更容易在告警列表中辨别各告警事件的严重程度。
图2为根据本发明实施例提供的告警展示装置结构框图,如图2所示,该装置包括:
创建模块1,用于在桌面创建告警图标,设置所述告警图标作为告警界面入口;
提示模块2,用于当告警事件发生时,弹出通知栏,所述通知栏中展示简要告警信息;
展示模块3,用于接收进入告警界面请求,显示告警界面,所述告警界面包括告警列表界面和所述告警信息的详情界面。
在一个实施例中,创建模块1设置告警界面(ApmAlarmActivity)的属性android:taskAffinity="apm_alarm",表示告警界面(ApmAlarmActivity)运行在apm_alarm这个任务中,应用运行在自身的任务中,设置所述告警图标作为告警界面入口:<categoryandroid:name="android.intent.category.LAUNCHER"/>。通过设置告警图标为告警界面入口,提供了一个告警展示的入口,在不影响应用代码,功能和界面的情况下,随时查看历史告警信息,方便获取有用的告警信息。
当告警事件发生时,提示模块2以通知栏的形式通知开发和测试人员,通知栏中展示简要告警信息。
具体地,以该方法应用在安卓系统中为例,具体实现方式为,将告警详细信息对应的告警数据保持到数据集合AlarmArray中,便于告警事件存储及展示查看。数据集合以Java中ArrayList数组队列实现。通过调用arrayList.add添加保存。该告警数据的索引值index为arrayList.size()-1,其中arrayList.size()为数组队列的大小。
进一步地,定义Intent,调用new Intent(ApmAlarmActivity.class)新建Intent,并设置参数Intent.putExtra("index",index),Intent为Android中意图组件定义点击通知的事件,表示跳转到告警界面ApmAlarmActivity类的意图,并将索引值index作为参数携带,定义PendingIntent为PendingIntent.getActivity(Intent),其中PendingIntent为Android中延迟意图组件,用于在特殊事件结束后执行的动作。将带有索引值index的事件跳转到告警界面ApmAlarmActivity类的意图Intent设置到PendingIntent中,新建Notification,Notification为Android中的通知组件。设置通知栏告警标题Notification.setContentTitle,设置通知栏告警内容Notification.setContentText,设置点击后的事件Notification.setContentIntent(PendingIntent),并通过NotificationManager.notify(Notification)创建并显示通知栏。其中,NotificationManager通过获取系统服务(getSystemService)得到。
通过在告警事件发生时,以通知栏的形式通知开发和测试人员,并展示简要信息。实现了当警告事件发生时,实时提示开发和测试人员发生了告警,并通过通知栏简要的展示告警的内容,开发和测试人员可点击通知栏直接跳转到告警界面,并通过索引值直接查看该告警的详细信息。也可以不做处理,在需要查看告警信息时直接点击桌面的告警图标进入告警界面查看告警列表。告警通知栏展示的方式实现了告警产生时不打断原有应用的流程,同时达到及时提醒开发和测试人员的效果。
进一步地,展示模块3接收点击通知栏请求,显示所述告警信息的详情界面,所述告警信息的详情界面显示告警详细信息。展示模块3接收点击告警图标请求,显示告警列表界面。
具体地,当告警事件发生时,用户可以通过点击通知栏,进入告警信息的详情界面;用户也可以点击桌面告警图标,进入告警列表界面。告警列表界面显示历史告警信息,所述历史告警信息按照告警产生时间顺序排列。
进一步地,当用户从通知栏或告警列表项点击跳转至告警信息的详情界面时,Intent携带有index参数,通过Index.getExtra(“index”)获取索引值index,再根据index在告警数据集合AlarmArray中的位置获取对应的告警数据,告警数据调用AlarmArray.get(index)获取。告警详情界面根据告警数据展示对应的告警详细信息。用户也可以点击桌面告警图标,进入告警列表界面,查看历史告警信息。
例如,在测试人员测试一款安卓应用时,对该安卓应用进行性能监控,当该安卓应用的内存占用过高时,服务器通过通知栏实时提示测试人员,该应用内存占用过高。测试人员点击通知栏进入告警信息的详情界面,查看该告警事件的告警详细信息。测试人员也可以在测试过程中随时点击桌面告警图标,进入告警列表界面,查看历史告警信息。当未发生任何告警事件时,告警列表界面显示无历史告警信息。
本发明实施例提供的告警展示装置,通过设置桌面图标为告警界面入口,并且在告警事件发生时,实时将告警事件以通知栏的形式展示,用户可以通过点击通知栏跳转至告警界面,也可以随时点击桌面图标进入告警界面。实现了在不影响应用的独立性的前提下,及时提示告警,并提供方便的入口查看,不依赖其他设备,提高了告警平台的易用性和使用意义。
在上述实施例的基础上,所述告警列表界面设置点击事件监听,通过点击告警列表项跳转至对应告警信息的详情界面。
具体地,通过调用OnClickListener实现监听,并重写onClick方法,在onClick方法中实现所述点击事件要实现的逻辑,所述逻辑为当告警列表项被点击时,跳转至对应告警信息的详情界面。通过定义Intent,调用new Intent(ApmAlarmActivity.class)新建Intent,并设置参数Intent.putExtra("index",index),其中index为点击的项在列表中的位置,并通过startActivity(Intent)启动界面,跳转至告警详情界面。用户既可以在告警发生时及时的从通知栏点击进入告警详情界面查看告警详细信息,也可以操作测试完成后点击告警图标进入告警列表界面,并从告警列表界面进入查看告警详细信息。
例如,在测试人员测试一款安卓应用时,想要查看历史告警信息,则点击桌面告警图标进入告警列表界面,测试人员点击告警列表中“内存占用过高”的一条告警事件,跳转至该告警事件的详情界面,方便测试人员随时查看该告警事件的详细信息。
在上述实施例的基础上,所述告警详细信息至少包括告警级别、告警原因、告警产生时间和告警确认时间。
具体地,用户进入告警信息的详情界面,查看告警详细信息,可查看告警级别,告警原因,告警产生时间,告警确认时间等。
例如,在测试人员测试一款安卓应用时,对该安卓应用进行性能监控,在15:00,该安卓应用的内存占用过高时,服务器通过通知栏实时提示测试人员,该应用内存占用过高。测试人员于15:02点击通知栏进入告警信息的详情界面,查看该告警事件的告警详细信息。告警详情界面显示,告警级别为高级,告警原因为内存占用过高,告警产生时间为15:00,告警确认时间为15:02。测试人员通过查看告警详细信息来获取自己需要的有用信息。
在上述各实施例的基础上,所述告警列表界面中,包括不同告警级别的所述告警信息,根据所述告警信息的所述告警级别,在所述告警列表中显示不同的颜色。
在本实施例中,告警信息分为三个级别,分别为高级、中级和低级,高级告警信息在告警列表中显示为红色,中级告警信息和低级告警信息在告警列表中分别显示为粉红色和黑色。当发生告警事件时,服务器发出告警提示音。通过对于不同级别的告警信息以不同的颜色显示,使用户更容易在告警列表中辨别各告警事件的严重程度。
本发明实施例提供的告警展示方法及装置,通过设置桌面图标为告警界面入口,并且在告警事件发生时,实时将告警事件以通知栏的形式展示,用户可以通过点击通知栏跳转至告警界面,也可以随时点击桌面图标进入告警界面。实现了在不影响应用的独立性的前提下,及时提示告警,并提供方便的入口查看,不依赖其他设备,提高了告警平台的易用性和使用意义。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。