一種小型視窗,用來提示使用者資訊或讓使用者輸入所需資訊。
利用 AlertDialog.Builder 這個類別來建立 AlertDialog
實例化 AlertDialog.Builder :
AlertDialog.Builder (context: Context)
val builder = AlertDialog.Builder(myContext) //myContext 為傳入的 MainActivity Context
AlertDialog.Builder (context: Context, themeResId: int)
context:AlertDialog 的 Parent Context
themeResId:指定想要的 Dialog 樣式
使用 AlertDialog.Builder 中的方法設定 AlertDialog
設置 AlertDialog 標題
setTitle (title: CharSequence)
builder.setTitle("Alert")
設置 AlertDialog 訊息內容
setMessage (message: CharSequence)
// intent 為傳進來的接收器接收的廣播 intent,
// "message" 為 intent 夾帶的資料的 Key
builder.setMessage(intent!!.getStringExtra("message"))
在 AlertDialog 上加上按鈕
setPositiveButton (text: CharSequence, listener: DialogInterface.OnClickListener)
text:按鈕上的文字內容
listener:一個 DialogInterface.OnClickListener Interface,用來監聽該按鈕的點擊事件並執行點擊時要執行的事件,需要實作裡面的 onClick funtion。
val listener = object : DialogInterface.OnClickListener{
// dialog 為使用此監聽器的 AlertDialog
// which 為 AlertDialog 上的按鈕代號
// 例如:BUTTON_POSITIVE、BUTTON_NEGATIVE、BUTTON_NEUTRAL
override onClick(dialog: DialogInterface, which: Int){
when (int){
BUTTON_POSITIVE -> dialog.cancel()
}
}
}
builder.setPositiveButton("OK", listener)
建立並顯示 AlertDialog
show ()
builder.show
此方法相當於
val dialog : AlertDialog = builder.create();
dialog.show()
以上的建立及設置步驟可簡化為如下
fun showDialog(intent: Intent?){
AlertDialog.Builder(myContext)
.setTitle("Alert")
.setMessage(intent!!.getStringExtra("message"))
.setPositiveButton("OK"){
// 此為 Lambda 寫法
dialog, which -> dialog.cancel()
}
.show()
}
至 Firebase 控制台選擇和 Android 專案連結的 Firebase 專案
進入後若跳出"選擇資料共用設定"視窗,可按左下的"稍後再設定"關閉視窗
從左邊選單找到 拓展 > Cloud Messaging
點選 "Send your first messaging
點選後會進入建立通知的畫面,首先建立訊息,輸入通知內容。
輸入完後點選 "下一步"
選擇要傳送的應用程式
選完應用程式後點選 "發佈"
接著會彈出一個提醒訊息,讓發佈者確認通知訊息設定有沒有誤
若無誤即可點選 "發佈",通知就會被發送出去。
為方便顯示發送通知及接收後的顯示成果
上半畫面為用手機瀏覽器開啟 Firebase 控制台建立並發送通知
下半畫面為這次實作的 APP
Android
Kotlin
AlertDialog
FCM