android11通知栏按钮,android开发(11) 消息栏通知(Notification)

您所在的位置:网站首页 基于Android11的colorOS12 android11通知栏按钮,android开发(11) 消息栏通知(Notification)

android11通知栏按钮,android开发(11) 消息栏通知(Notification)

#android11通知栏按钮,android开发(11) 消息栏通知(Notification)| 来源: 网络整理| 查看: 265

android 的消息通知还是很方便的,它会出现在窗体的顶部,并给出提示。常见的短信就是这样的通知方式。本文我们尝试实现一个这样的演示。

演示截图:

实现步骤:

1.获得NotificationManager?对象,这是一个通知管理器。我们在窗体里调用方法获得

NotificationManager?manager?=(NotificationManager)?getSystemService(?Context.NOTIFICATION_SERVICE);

getSystemService是获得系统服务的方法。android以服务的形式提供给用户操作接口。也就是说,我们要想操作 通知相关的操作接口,就先获得系统提供的 “通知管理器”

NotificationManager?对象就是一个服务管理器了。

2.构建一个Notification?对象,这个Notification?对象描述了:通知的标题和内容,通知要调用的窗体。

//构建一个通知对象,指定了 图标,标题,和时间Notification?notification=newNotification(R.drawable.icon,"通知",?System.currentTimeMillis());

//设定事件信息

notification.setLatestEventInfo(getApplicationContext(),

"通知标题","通知显示的内容",

pendingIntent);

notification.flags

|=

Notification.FLAG_AUTO_CANCEL;

//

自动终止

notification.defaults

|=

Notification.DEFAULT_SOUND;

//

默认声音

其中pendingIntent对象 是一个跳转intent,当提示后,点击在消息提示栏的 “通知”时,能打开一个窗体activity

PendingIntent?pendingIntent?=PendingIntent.getActivity(

ActNotifyDemo.this,0,newIntent(ActNotifyDemo.this,ActNotifyDemo.class), //指定一个跳转的intent0);

实际上是PendingIntent? 包含(封装)了一个跳转的 intent对象。

3.调用NotificationManager.notify方法发起通知,发起后的通知就会在消息栏提示。

-----------------

代码如下:

public

class

ActNotifyDemo

extends

Activity?{

Button?_btn1;

/**

Called?when?the?activity?is?first?created.

*/

@Override

public

void

onCreate(Bundle?savedInstanceState)?{

super

.onCreate(savedInstanceState);

setContentView(R.layout.main);

_btn1

=

(Button)findViewById(R.id.button1);

_btn1.setOnClickListener(

new

OnClickListener(){

//

触发通知

public

void

onClick(View?arg0)?{

//

获得通知管理器

NotificationManager?manager

=

(NotificationManager)?getSystemService(

Context.NOTIFICATION_SERVICE);

//

构建一个通知对象

Notification?notification

=

new

Notification(R.drawable.icon,

"

通知

"

,?System.currentTimeMillis());

PendingIntent?pendingIntent

=

PendingIntent.getActivity(

ActNotifyDemo.

this

,

0

,

new

Intent(ActNotifyDemo.

this

,ActNotifyDemo.

class

),

0

);

notification.setLatestEventInfo(getApplicationContext(),

"

通知标题

"

,

"

通知显示的内容

"

,

pendingIntent);

notification.flags

|=

Notification.FLAG_AUTO_CANCEL;

//

自动终止

notification.defaults

|=

Notification.DEFAULT_SOUND;

//

默认声音

manager.notify(

0

,?notification);

//

发起通知

}

});

}

}



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3