亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

kotlin實(shí)現(xiàn)通知欄提醒功能示例代碼

 更新時(shí)間:2019年08月11日 11:18:10   作者:男兒當(dāng)自強(qiáng)  
這篇文章主要給大家介紹了關(guān)于kotlin實(shí)現(xiàn)通知欄提醒功能的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用kotlin具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一、概述

2019年英雄聯(lián)盟LPL賽區(qū)賽季賽打得火熱,作為一個(gè)RNG粉絲,想通過(guò)app實(shí)現(xiàn)RNG賽程提醒,于是就有了這次技術(shù)實(shí)踐。我在網(wǎng)上找了很久,幾乎沒(méi)找到使用kotlin實(shí)現(xiàn)通知欄提醒的合適的文章,于是就到安卓官網(wǎng)看文檔,一邊翻譯一邊研究,最終實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的通知欄提醒。又研究了定時(shí)任務(wù),但沒(méi)有成功,還望看到的大佬給個(gè)錦囊。

二、環(huán)境

kotlin版本:1.3.31

android studio版本:3.4.1

在華為手機(jī)android 9 API28 環(huán)境下測(cè)試通過(guò)

三、實(shí)現(xiàn)

1、創(chuàng)建一個(gè) Empty Activity 項(xiàng)目后,編輯 activity_main.xml 文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:orientation="vertical"
 xmlns:android="http://schemas.android.com/apk/res/android">
 <Button
  android:onClick="showNotification"
  android:text="顯示通知"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"/>
</LinearLayout>

2、在類(lèi)  MainActivity 創(chuàng)建 showNotification 方法

fun showNotification(view: View)
{
 // CHANNEL_ID:通道ID,可在類(lèi) MainActivity 外自定義。如:val CHANNEL_ID = 'msg_1'
 val builder = NotificationCompat.Builder(this, CHANNEL_ID)
  .setSmallIcon(R.mipmap.ic_launcher)
  .setContentTitle("RNG賽程提醒")
  .setContentText("今天晚上19:00,RNG對(duì)陣IG")
  // 通知優(yōu)先級(jí),可以設(shè)置為int型,范圍-2至2
  .setPriority(NotificationCompat.PRIORITY_MAX )
 // 顯示通知
 with(NotificationManagerCompat.from(this)) {
  notify(1, builder.build())
 }
}

3、為了兼容Android 8.0及更高版本,傳遞通知之前,必須在系統(tǒng)中注冊(cè)應(yīng)用程序的通知通道。創(chuàng)建好后在 onCreate 函數(shù)內(nèi)調(diào)用

private fun createNotificationChannel()
{
 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
  val name = getString(R.string.channel_name)
  val descriptionText = getString(R.string.channel_description)
  // 提醒式通知(橫幅顯示),不過(guò)大部分需要手動(dòng)授權(quán)
  val importance = NotificationManager.IMPORTANCE_HIGH
  val channel = NotificationChannel(CHANNEL_ID, name, importance).apply {description = descriptionText}
  // 注冊(cè)通道(頻道)
  val notificationManager: NotificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
  notificationManager.createNotificationChannel(channel)
 }
}

四、總結(jié)

對(duì)于報(bào)錯(cuò)部分,可以使用 Alt+Enter 組合鍵完成錯(cuò)誤更正。

詳細(xì)的通知使用,請(qǐng)轉(zhuǎn)到官網(wǎng)研究。developer.android.google.cn/training/no

初次發(fā)文,若有不足的地方,還請(qǐng)指正。成品截圖

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論