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"/>

 

posted @ 2018-03-16 10:06  猪悟能  阅读(342)  评论(0编辑  收藏  举报