初次使用的朋友注意了,notification.icon不能為空,必須設定一張圖檔,如果圖檔尺寸不對,會被剪裁的很難看,大概22*22比較合适。狀态欄的高度一般是25.
1.notifmanager.notify(id,notification); 這個id在同一個包裡如果相同的話,後續的通知會直接覆寫前面的。如果tickerText相同也不會顯示tickerText。
2.notification的構造方法中的when,是顯示的時間,并不是發出通知的時間,發通知是即時的。
這個when會影響通知的顯示順序,從上到下按時間先後排序。
3.2.3的sdk,notifycation的PnedingIntent不能為空,否則報錯或者直接不顯示。(目前發現三星的9100不顯示通知,但是沒報錯)。
4.PendingIntent的requestCode雖然說沒有用,但其實可以用來區分PendingIntent對象的,不同的requestcode對應不同的PendingIntent,防止不同的PendingIntent混淆造成資料錯亂。
5.pendingintent傳值經常擷取到的值是第一次的值或者null,這個最後一個參數選擇有關系。
PendingIntent pendingIntent = PendingIntent.getActivity(this, id, intent, PendingIntent.FLAG_UPDATE_CURRENT);
注意:如果PendingIntent中intent的action不同,需要設定不同的id,否則資料會混淆。
6.使用文字通知時文本過長的處理
android:maxLines="2" //顯示2行
android:ellipsize="end" //文本過長則在結尾顯示省略号
android:textSize="12sp" //可以換其他字型大小
多線程下載下傳并且使用通知欄來顯示進度的同學注意了:
notifmanager.notify(id,notification);id必須保持區分
PnedingIntent的requestCode這個id也必須保持差別,否則資料各種混亂。