美文网首页
2018-03-27

2018-03-27

作者: 5050_ | 来源:发表于2018-04-17 15:50 被阅读0次

例题 发送通知

功能实现:创建一个通知,让他提示消息
图1-1.png

1.设置页面如图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。

相关文章

网友评论

      本文标题:2018-03-27

      本文链接:https://www.haomeiwen.com/subject/zygscftx.html