標籤:
import android.os.Bundle;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.graphics.Bitmap;import android.graphics.BitmapFactory;import android.support.v4.app.NotificationCompat;import android.view.View;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void click(View v){ NotificationCompat.Builder builder = new NotificationCompat.Builder(this); //設定標題 builder.setContentTitle("通知標題"); builder.setContentText("這是內容。。。。。。。。。。。。。。"); //表徵圖 builder.setSmallIcon(R.drawable.ic_launcher); //就是通知開啟前在,頁面可以看見的提示文字 builder.setTicker("一閃,搜尋"); /** * 設定notification的樣式 */ //大文本類型的通知 NotificationCompat.BigTextStyle big = new NotificationCompat.BigTextStyle(); big.setBigContentTitle("大的標題").bigText("大的內容"); //設定builder的樣式 //builder.setStyle(big); //大圖片的類型 NotificationCompat.BigPictureStyle bigimg = new NotificationCompat.BigPictureStyle(); Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); bigimg.bigLargeIcon(b); //設定樣式 //builder.setStyle(bigimg); /** * 可以顯示更多文字 */ NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle(); inboxStyle.addLine("一行文本"); inboxStyle.addLine("2行文本"); inboxStyle.addLine("3行文本"); inboxStyle.addLine("4行文本"); inboxStyle.addLine("5行文本"); builder.setStyle(inboxStyle); /** * 設定跳轉,預跳轉。可點可不點 * */ Intent intent = new Intent(this,MainActivity.class); /** * * pendingIntent:封裝了Intent的預意圖,表示 * 動作還沒有發生,但是會一直保留著這個動作 * context 上下文 * requestCode:請求碼 * intent :跳轉意圖 * Flag:標記 */ PendingIntent pendingIntent = PendingIntent.getActivity(this, 200, intent, PendingIntent.FLAG_ONE_SHOT); //PendingIntent.FLAG_NO_CREATE;一般用一個 builder.setContentIntent(pendingIntent); //服務來調用 /** * get 是系統的服務 * 傳遞Context.NOTIFICATION_SERVICE 可以擷取一個管理Notification 的管理器 * */ NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); /** * builder構造器,可以建造喲個Notification對象 * */ Notification build = builder.build(); /** * 這個方法可以發出一個通知 * id 唯一標識的id號 * * notification 是需要發出通知的對象,(誰需要這個通知) */ manager.notify(1, build); }}
Android NotificationCompat通知訊息