例题 发送通知
功能实现:创建一个通知,让他提示消息
图1-1.png1.设置页面如图1-1所示,代码如下所示:
对两个按钮设置onClick以便对两个按钮进行监听。
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="136dp"
android:text="发送通知"
android:onClick="send" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button1"
android:layout_centerHorizontal="true"
android:layout_marginTop="67dp"
android:text="取消发送"
android:onClick="cancel"/>
</RelativeLayout>
2.在MainActivity中实现对按钮的监听,代码如下所示:
package com.example.androidstudy1005;
import android.os.Bundle;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
NotificationManager nm;
Notification noti;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void send(View view){
//获得通知管理器 (手枪)
//链式调用
nm=(NotificationManager)
getSystemService(NOTIFICATION_SERVICE);
//用Notification建一个通知
noti=new Notification.Builder(this)
//通知的标题,内容,小图标,找一个工厂改变这个资源 把小 图标改成大图标
.setContentTitle("开会")
.setContentText("今晚六点在E604开会")
.setSmallIcon(R.drawable.ic_launcher)
.setLargeIcon(BitmapFactory.decodeResource(getResources(),
R.drawable.ic_launcher))
.build();
noti.defaults=Notification.DEFAULT_ALL;//ALL即震动又响铃
// noti.flags=Notification.FLAG_NO_CLEAR;//使通知删不了
noti.tickerText="滚动显示的内容"; //提示通知信息
nm.notify(1, noti); //发射通知
}
public void cancel(View view){
nm.cancel(1);
}
}
3.清单代码API版本修改如下:
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="17" />
4.运行结果如图所示:
图1-3.jpg
点击发送通知上面先提示滚动显示的内容,接着查看通知的内容,如图所示:
图1-4.jpg
若点击取消发送,则通知会自动消除。
本节知识点:
Notification 通知
NotificationManager 通知管理器
要得到一个通知管理器要通过getSystemService()方法,不能直接new。
网友评论