zoukankan      html  css  js  c++  java
  • Android学习:Notification状态栏通知

    Notification是显示在手机状态栏的通知,它代表一种具有全局效果的通知,程序一般通过NotificationManager服务来发送Notification。
    在小米手机上,手指在屏幕顶端向下划,可以看到这个通知内容。

    package allegro.notificationtest;
    
    import android.app.Notification;
    import android.app.NotificationManager;
    import android.app.PendingIntent;
    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    
    public class MainActivity extends AppCompatActivity {
    
        static final int NOTIFICATION_ID = 0x123;
        NotificationManager nm;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            nm=(NotificationManager)
                    getSystemService(NOTIFICATION_SERVICE);
        }
        public void send(View source)
        {
            Intent intent=new Intent(MainActivity.this,OtherActivity.class);
            PendingIntent pi= PendingIntent.getActivity(MainActivity.this,0,intent,0);
            Notification notify = new Notification.Builder(this)
                    .setAutoCancel(true)
                // 设置显示在状态栏的通知提示信息
                .setTicker("有新消息")
                // 设置通知的图标
                .setSmallIcon((R.drawable.java))
                // 设置通知内容的标题
                .setContentTitle("一条新通知")
                // 设置通知内容
                .setContentText("恭喜你,你中奖了!")
                // 设置使用系统默认的声音、默认LED灯
                // .setDefaults(Notification.DEFAULT_SOUND
                // |Notification.DEFAULT_LIGHTS)
                // 设置通知的自定义声音
    //            .setSound(Uri.parse("android.resource://org.crazyit.ui/"
    //                    + R.raw.msg))
                .setWhen(System.currentTimeMillis())
                // 设改通知将要启动程序的Intent
                .setContentIntent(pi)  //设置事件信息,这里启动intent对应的程序。
     .build(); nm.notify(NOTIFICATION_ID,notify); } public void del(View v) { nm.cancel(NOTIFICATION_ID); } }

    点击发送按钮后,划开通知栏点击通知,执行启动OtherActivity程序

     另外,AndroidManifest.xml文件中声明权限。因为程序要访问闪光灯,振动器。

            <!-- 添加操作闪光灯的权限 -->
            <uses-permission android:name="android.permission.FLASHLIGHT"/>
            <!-- 添加操作振动器的权限 -->
            <uses-permission android:name="android.permission.VIBRATE"/>
  • 相关阅读:
    pom.xml基础配置
    Maven零散笔记——配置Nexus
    搭建局域网maven仓库
    java 加密解密
    菠萝大象--sping
    (转)Spring对注解(Annotation)处理源码分析1——扫描和读取Bean定义
    eclipse 如何把java项目转成web项目
    Effective Java
    More Effective C++
    Effective C++
  • 原文地址:https://www.cnblogs.com/hackpig/p/8578931.html
Copyright © 2011-2022 走看看