📜  Android 中的通知示例

📅  最后修改于: 2022-05-13 01:55:08.108000             🧑  作者: Mango

Android 中的通知示例

通知是一种消息、警报或应用程序的状态(可能在后台运行),在 Android 的 UI 元素中可见或可用。此应用程序可能在后台运行,但用户未使用。通知的目的是通知用户有关由用户或系统在应用程序中启动的进程。本文可以帮助那些努力为开发目的创建通知的人。

通知可以是各种格式和设计,具体取决于开发人员。一般而言,您必须目睹这四种类型的通知:

  1. 状态栏通知(显示在与当前时间、电池百分比相同的布局中)
  2. 通知抽屉通知(出现在下拉菜单中)
  3. 提醒通知(出现在覆盖屏幕上,例如:Whatsapp 通知、OTP 消息)
  4. 锁屏通知(我猜你知道)

不同形式的通知

在本文中,我们将讨论如何在Kotlin中生成通知。

分步实施

第 1 步:创建一个新项目

要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。请注意,选择Kotlin作为编程语言。

第 2 步:使用 activity_main.xml 文件

转到activity_main.xml文件并参考以下代码。在这一步中,我们将设计我们的布局页面。在这里,我们将使用 RelativeLayout 从 Kotlin 文件中获取 Scroll View。下面是activity_main.xml文件的代码。

XML


 
    


XML


 
    
 


Kotlin
import android.app.Notification
import android.app.NotificationChannel
import android.app.NotificationManager
import android.app.PendingIntent
import android.content.Context
import android.content.Intent
import android.graphics.BitmapFactory
import android.graphics.Color
import android.os.Build
import android.os.Bundle
import android.widget.Button
import android.widget.RemoteViews
import androidx.appcompat.app.AppCompatActivity
 
class MainActivity : AppCompatActivity() {
 
    // declaring variables
    lateinit var notificationManager: NotificationManager
    lateinit var notificationChannel: NotificationChannel
    lateinit var builder: Notification.Builder
    private val channelId = "i.apps.notifications"
    private val description = "Test notification"
 
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
 
        // accessing button
        val btn = findViewById


第 3 步:创建一个新的空活动

将活动命名为afterNotification 。当有人点击通知时,此活动将在我们的应用程序中打开,用户将被重定向到此页面。下面是activity_after_notification.xml文件的代码。

XML



 
    
 

第 5 步:使用 MainActivity.kt 文件

转到MainActivity.kt文件并参考以下代码。下面是MainActivity.kt文件的代码。代码中添加了注释以更详细地理解代码。

科特林

import android.app.Notification
import android.app.NotificationChannel
import android.app.NotificationManager
import android.app.PendingIntent
import android.content.Context
import android.content.Intent
import android.graphics.BitmapFactory
import android.graphics.Color
import android.os.Build
import android.os.Bundle
import android.widget.Button
import android.widget.RemoteViews
import androidx.appcompat.app.AppCompatActivity
 
class MainActivity : AppCompatActivity() {
 
    // declaring variables
    lateinit var notificationManager: NotificationManager
    lateinit var notificationChannel: NotificationChannel
    lateinit var builder: Notification.Builder
    private val channelId = "i.apps.notifications"
    private val description = "Test notification"
 
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
 
        // accessing button
        val btn = findViewById

有了这个,我们现在已经成功地为我们的应用程序创建了一个“通知”。请注意,上面代码中列出的参数是必需的,缺少任何单个参数都可能导致应用程序崩溃或无法启动。内容标题、内容文本、小图标是可自定义的参数,但也是必需的。可以根据需要更改它们的值。

输出: