Android应用消息通知栏的实现

来源:互联网 发布:顾客特殊要求矩阵表 编辑:程序博客网 时间:2024/05/18 00:30
该程序主要实现了应用推送通知,将信息显示到通知栏。并实现了通知的几种方式。例如手机震动提醒、LED灯闪烁提醒以及通知的重要的程度等。
public class MainActivity extends AppCompatActivity implements View.OnClickListener{    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button sendNotice = (Button) findViewById(R.id.sendNotice);        sendNotice.setOnClickListener(this);    }    @TargetApi(Build.VERSION_CODES.HONEYCOMB)    public void onClick(View v) {        switch (v.getId()) {            case R.id.sendNotice:                Intent intent = new Intent(this,NotificationActivity.class);//创建视图                PendingIntent pi = PendingIntent.getActivity(this,0,intent,0);//获得PendingIntent 对象                NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);                Notification notification = new NotificationCompat.Builder(this)                        .setContentTitle("This is content title")                        .setContentText("This is content text")                        .setWhen(System.currentTimeMillis())                        .setSmallIcon(R.drawable.big_image)                        .setLargeIcon(BitmapFactory.decodeResource(getResources(),                                R.drawable.big_image))                        .setContentIntent(pi)//传入PendingIntent对象                       // .setAutoCancel(true)//第一种写法:当点击了这个通知的时候,通知会自动取消                      //  .setSound(Uri.fromFile(new File("/system/media/audio/ringtones/luna.ogg")))//允许播放音频                        .setVibrate(new long[] {0,1000,1000,1000})//手机震动一秒,然后禁止一秒                        .setLights(Color.GREEN,1000,1000)//实现LED灯一绿色灯光一闪一闪的效果                       // .setDefaults(NotificationCompat.DEFAULT_ALL)//使用通知默认效果                      /*  .setStyle(new NotificationCompat.BigTextStyle().bigText("大家好大家好大家好大家好大家好大家好大家好大家好大家好大" +                                "家好大家好学习安卓,安卓入门与精通"))//显示所有的文字内容*/                       // .setStyle(new NotificationCompat.BigPictureStyle().bigPicture(BitmapFactory.decodeResource(getResources(),R.drawable.big_image)))                        .setPriority(NotificationCompat.PRIORITY_MAX)//通知重要程度 MAX表示最高的重要程度                        .build();//显示一张大图片                manager.notify(1, notification);                break;            default:                break;        }    }

}

package com.example.administrator.notifationmanager;import android.app.NotificationManager;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;public class NotificationActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_notification);        NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);        manager.cancel(1);//第二种写法:当点击了这个通知的时候,通知会自动取消    }}



0 0
原创粉丝点击