android的通知栏的实现

论坛 期权论坛 脚本     
匿名技术用户   2021-1-14 11:22   435   0
package com.example.mynotification;

import android.os.Bundle;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.support.v4.app.NotificationCompat;
import android.view.Menu;

public class MainActivity extends Activity {
 
 public PendingIntent getDefalutIntent(int flags){
  PendingIntent pendingIntent= PendingIntent.getActivity(this, 1, new Intent(), flags);  
     return pendingIntent;
 }

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  NotificationManager mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);  
  NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this); 
  mBuilder.setContentTitle("測试标题")//设置通知栏标题
    .setContentText("測试内容")//设置通知栏显示内容
    .setContentIntent(getDefalutIntent(Notification.FLAG_AUTO_CANCEL))//设置通知栏点击意图
      //.setNumber(number);
    .setTicker("測试通知来啦")//通知栏首次出如今通知栏,带上动画效果
    .setWhen(System.currentTimeMillis())//通知栏时间。通常是直接用系统的
    .setPriority(Notification.DEFAULT_ALL)//设置通知栏优先级
   // .setAutoCancel(true)//用户单击面板后消失
    .setOngoing(false)//true,设置他为一个正在进行的通知。他们通常是用来表示一个后台任务,用户积极參与(如播放音乐)或以某种方式正在等待,因此
    //占用设备(如一个文件下载,同步操作。主动网络连接)
    .setDefaults(Notification.DEFAULT_VIBRATE)//向通知加入声音、闪灯和振动效果的最简单、最一致的方式是使用当前的用户默认设置。
    //使用default属性。能够组合  
    //Notification.DEFAULT_ALL  Notification.DEFAULT_SOUND 加入声音 // requires VIBRATE permission  
    .setSmallIcon(R.drawable.ic_launcher);
  Notification notification = mBuilder.build();
  notification.flags = Notification.FLAG_ONGOING_EVENT  ;
  notification.flags = Notification.FLAG_NO_CLEAR;//点击清除的时候不清除
  Intent intent = new Intent(getApplicationContext(),MainActivity.class); 
  intent.addCategory(Intent.CATEGORY_LAUNCHER);   
  intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);  
  PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, 0);
  mBuilder.setContentIntent(pendingIntent);
  mNotificationManager.notify(0,<span style="font-family: Arial, Helvetica, sans-serif;">notification</span><span style="font-family: Arial, Helvetica, sans-serif;">);  </span>
  
 }

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.main, menu);
  return true;
 }

}
不知道为什么我的点击还是会清除。郁闷。
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP