? ? ? ? Android中消息通知主要有兩種方式发框,一種是簡短的提示信息,此時使用Toast,另一種是主動推送的信息伸辟,應使用Notification麻惶。
詳細代碼:Toast ?Notification
1.Toast
toast顯示消息通知時,先makeText,后show,makeText時信夫,參數(shù)為context,顯示的文本內容窃蹋,顯示時長
Toast.makeText(MainActivity.this,"顯示一個較長的Toast",Toast.LENGTH_LONG).show();
顯示時長默認只有兩個值,需要設置為這兩個一長一短的值
Toast.LENGTH_LONG(3.5秒)和Toast.LENGTH_SHORT(2秒)
可依通過setGravity方法設置Toast的顯示位置
//后兩個參數(shù)為x軸和y軸的偏移量静稻,x軸正值向右偏移警没,y軸正值為向下偏移
aShortToast.setGravity(Gravity.CENTER,100,-200);
可以通過setView為Toast設置圖片,圖片會取代之前設置的文本振湾,需要顯示多種內容時杀迹,自定義layout
Toast imageToast = Toast.makeText(MainActivity.this,"這是一個帶有圖片的toast",Toast.LENGTH_LONG);
//創(chuàng)建imageView,并設置圖片源
ImageView iv =newImageView(MainActivity.this);
iv.setImageResource(R.mipmap.ic_launcher);
//為Toast設置view
imageToast.setView(iv);
2.Notification
notification,通知押搪,即android狀態(tài)欄頂部的消息推送,
Notification對象必須包含以下內容:
小圖標树酪,由setSmallIcon()設置,隱藏時顯示在狀態(tài)欄頂部
標題,由setContentTitle()設置
詳細文本嵌言,由setContentText()設置
選擇包含的內容
Large icon 大圖標
Content info 內容信息
通知創(chuàng)建的時間嗅回,由setTime()方法設置
創(chuàng)建notification之前,先創(chuàng)建builder摧茴,通過builder設置notification的屬性,用以創(chuàng)建真正的notification
//創(chuàng)建notification前绵载,需要先創(chuàng)建一個builder,通過builder創(chuàng)建一個真正的notification
NotificationCompat.Builder builder =newNotificationCompat
.Builder(MainActivity.this);
通過builder設置notification的屬性,小圖標,標題娃豹,詳細文本必須設置
//通過builder為當前的notification指定屬性
builder.setSmallIcon(R.mipmap.ic_launcher);
builder.setContentTitle("你有"+counter+"條新消息焚虱!");
builder.setContentText("天空一無所有,為何給我安慰”);
通過builde方法懂版,創(chuàng)建notification
//調用build方法創(chuàng)建notification的真實對象
Notification notification = builder.build();
為了在通知欄欄顯示notification鹃栽,需要通過notificationManager獲取系統(tǒng)notification服務,
而后通過manager提示
//獲取系統(tǒng)的notification服務躯畴,傳遞給manager用來在通知欄顯示
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
//通過固定的notificationID對當前的notification進行更新民鼓,manager進行提示
manager.notify(NOTIFICATION_ID,notification);