首頁 > 手機軟體

android Notification範例

2019-11-28 09:48:42

Notification一般用在電話,簡訊,郵件,鬧鐘鈴聲,訊息提醒,比如網易新聞會給我展示最新的新聞,百度用戶端將最新的熱點展示給我們,手機螢幕會出現一個通知欄。 這就是android Notification通知欄控制元件的展示

1

新建一個android專案叫做NotificationShowT,其他的引數可以自己設定,點選完成。可以得到如下專案示意圖:



2

main.xml設定資訊,我們需要設定兩個Button,這個兩個Button比較常見的屬性,一個功能是開啟通知,一個功能是關閉通知。其中的引數設定

android:id="@+id/..."   宣告button的ID

android:layout_width="fill_parent" 與父控制元件的寬度一致

android:layout_length="wrap_content" 與自身控制元件高度一致

android:text="" button控制元件展示的文字


3

Notification屬性說明:

 新增聲音

Notification.defaults |=Notification.DEFAULT_SOUND;

或者使用以下幾種方式

Notification.sound = Uri.parse("file:///sdcard/xx/xx.mp3");

Notification.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6");

如果想要讓聲音持續重複直到使用者對通知做出反應,則可以在notification的flags欄位增加"FLAG_INSISTENT"

如果Notification的defaults欄位包括了"DEFAULT_SOUND"屬性,則這個屬性將覆蓋sound欄位中定義的聲音


4

新增振動

Notification.defaults |= Notification.DEFAULT_VIBRATE;

或者可以定義自己的振動模式:

long[] vibrate = {0,50,100,200}; //0毫秒後開始振動,振動50毫秒後停止,再過100毫秒後再次振動200毫秒

Notification.vibrate = vibrate;

long陣列可以定義成想要的任何長度

如果Notification的defaults欄位包括了"DEFAULT_VIBRATE",則這個屬性將覆蓋vibrate欄位中定義的振動


5

 新增LED燈提醒

Notification.defaults |= Notification.DEFAULT_LIGHTS;

或者可以自己的LED提醒模式:

Notification.ledARGB = 0xff00ff00;

Notification.ledOnMS = 300; //亮的時間

Notification.ledOffMS = 1000; //滅的時間

Notification.flags |= Notification.FLAG_SHOW_LIGHTS;


6

主程式講解,程式通過findViewById()找到兩個Button,初始化

NotificationManager mNotificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERV);

之後再開啟的按鈕的點選事件中,定義Notification的各個屬性

 notification.icon = R.drawable.icon;// 設定通知的圖示  

 notification.tickerText = tickerText; // 顯示在狀態列中的文字  

  // 單擊通知後會跳轉到NotificationShow類 ,跳到自己

            intent = new Intent(NotificationShow.this,  

                    NotificationShow.class);  

            // 獲取PendingIntent,點選時傳送該Intent  

            pIntent = PendingIntent.getActivity(NotificationShow.this, 0,  

                    intent, 0);  



7

試驗結果,如下所示,剛開始點選按鈕,通知圖示和文字展示,完畢之後文字停止展示,點選關閉通知按鈕,通知資訊關閉





IT145.com E-mail:sddin#qq.com