顯示通知:Toast和狀態欄通知

1.可以使用3類通知方式來通知用戶:


2.Toast通知:

  1. 創建Toast通知:首先用一個makeText()方法來實例化一個Toast對象,它接受3個參數:應用的Context,文本信息和持續長度。然後調用show()方法來顯示。如:
    Context context = getApplicationContext();
    CharSequence text = "Hello toast!";
    int duration = Toast.LENGTH_SHORT;
    
    Toast toast = Toast.makeText(context, text, duration);
    toast.show();

    也可以簡單的寫成:
    Toast.makeText(context, text, duration).show();
  2. 將Toast通知放在指定的位置上:

使用setGravity(int, int, int),第一個參數爲對其方式,第二個位x偏移量,第三個爲y偏移量。如:

toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0);


3.狀態欄通知:

狀態欄通知可以在系統狀態欄上顯示一個圖標(也可以帶上文字)和一個在通知窗口中的通知文字內容。當用戶選擇該通知的時候,系統會啓動該通知定義的Intent(通常是加載一個界面)。同時也可以爲通知設置聲音、震動、和閃光燈。

創建狀態欄通知:ActivityService都可以創建一個狀態欄通知。需要用到兩個類:NotificationNotificationManager。具體爲:

獲得一個對NotificationManager的應用:
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
實例化Notification對象(同時設置圖標、tickerText和時間):
int icon = R.drawable.notification_icon;
CharSequence tickerText = "Hello";
long when = System.currentTimeMillis();

Notification notification = new Notification(icon, tickerText, when);
定義通知內容和PendingIntent
Context context = getApplicationContext();
CharSequence contentTitle = "My notification";
CharSequence contentText = "Hello World!";
Intent notificationIntent = new Intent(this, MyClass.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);

notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
將Notification傳遞給NotificationManager:
private static final int HELLO_ID = 1;

mNotificationManager.notify(HELLO_ID, notification);
發佈了25 篇原創文章 · 獲贊 1 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章