美文网首页
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