关闭

android 通知基础

155人阅读 评论(0) 收藏 举报
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}
	public void click(View view){
		NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
		Notification notification = new Notification(R.drawable.notification, "我是一个通知", System.currentTimeMillis()); //最开始显示的文本,
		notification.flags = Notification.FLAG_AUTO_CANCEL;    //点击后清除,还有其他参数,NO_CLEAR等等。
		Intent intent = new Intent();
		intent.setAction(Intent.ACTION_CALL);
		intent.setData(Uri.parse("tel:110"));
		PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0); //为什么用的pendintent,因为这个不是我们activity发起的,是系统通知程序的,所以是个延迟的意图
		notification.setLatestEventInfo(this, "我是标题", "我是内容", contentIntent); //和上面那个文本不同,是点击后显示的。
		nm.notify(0, notification);
	}
	/**
	 * 新版本的notification
	 * @param view
	 */
	@SuppressLint("NewApi")
	public void click2(View view){
		 Notification noti = new Notification.Builder(this)
         .setContentTitle("我是标题")
         .setContentText("我是内容")
         .setSmallIcon(R.drawable.notification)
         .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher))
         .build();
		 NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
		 nm.notify(0, noti);
	}


旧版本的API和新版本有点不一样,但为了兼容还是用的老的方式,有些应用通知可能清除不了,4.1之后长按通知有一个显示通知的对话框,勾掉就可以让某些流氓应用无法发送通知啦。



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:28972次
    • 积分:972
    • 等级:
    • 排名:千里之外
    • 原创:69篇
    • 转载:6篇
    • 译文:0篇
    • 评论:2条
    最新评论