Android 之Notification 用法

Notification 可以Android 桌面最上方的状态栏显示信息

分为2步完成创建

1、Notification.Builder 对象创建

    builder= new Notification.Builder(this);

    builder.setContentTitle("标题")
    builder.setContentText("内容信息")
    builder.setSmallIcon("右侧小图标")
    builder.setLargeIcon("左侧大图标")
    builder.setNumber("数字显示在右下角")
    builder.setPicture("显示大图")
    builder.setOngoing(true) //永久驻留

  

2、NotificationManager 对象创建

   nm=(NotificationManager)getSystemService(NOTIFICATION SERVER);
 
   //显示通知ID信息
     nm.notify(ID,builer.build());
   //清除通知ID信息
     nm.cancel(ID)
   //清除所有ID信息
     nm.cancelAll();


自定义Notification
  
  
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TextView android:id="@+id/textview" android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:text="自定义内容"
		android:textColor="#F00" android:textSize="20sp" android:gravity="center" />
	<ImageView android:layout_width="wrap_content"
		android:layout_height="wrap_content" android:src="@drawable/smile"
		android:layout_gravity="center" />	
</LinearLayout>
   


RemoteViews 视图容器
   支持的布局:FrameLayout
               LinearLayout
               RelativeLayout
   支持的控件:AnalogClock
               Button
               Chronometer
               ImageButton
               ImageView
               ProgressBar
               TextView

    
package mobile.android.custom.notification;

import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.RemoteViews;

public class Main extends Activity
{
	private NotificationManager mNotificationManager;

	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
	}

	public void onClick_ShowNotification(View view)
	{
		
		RemoteViews remoteViews = new RemoteViews(getPackageName(),
				R.layout.notification);
		remoteViews.setTextViewText(R.id.textview, "更新自定义内容");

		Notification.Builder builder = new Notification.Builder(this)
				.setSmallIcon(R.drawable.smile).setContent(remoteViews);

		mNotificationManager.notify(1, builder.build());

	}
}
    


 



猜你喜欢

转载自yingang-1982.iteye.com/blog/2079247