zoukankan      html  css  js  c++  java
  • android的通知栏的实现

    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;
    	}
    
    }
    
    不知道为什么我的点击还是会清除。郁闷。
  • 相关阅读:
    MySQL递归查询树状表的子节点、父节点
    ajax传递参数给springmvc总结[转]
    转:Java中String与byte[]的转换
    easymock的用法
    java的反射
    spring的依赖注入
    等页面加载完
    ajax请求
    对象的复制
    springJDBC
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/6720056.html
Copyright © 2011-2022 走看看