Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Android

Đóng tất cả Activity cùng lúc trong Android bằng Kotlin

Giới thiệu

Ví dụ này minh họa cách thoát hoàn toàn ứng dụng (đóng tất cả Activity) trong Android sử dụng Kotlin.

Bước 1: Tạo dự án mới

Android Studio → File → New Project.

Bước 2: Layout Activity chính (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="4dp">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="70dp"
        android:background="#008080"
        android:padding="5dp"
        android:text="TutorialsPoint"
        android:textColor="#fff"
        android:textSize="24sp"
        android:textStyle="bold" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/button"
        android:layout_marginBottom="20dp"
        android:gravity="center"
        android:text="Activity One"
        android:textColor="@android:color/background_dark"
        android:textStyle="bold" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="Start Activity two" />

</RelativeLayout>

Bước 3: MainActivity.kt

package com.example.q28

import android.content.Intent
import android.os.Bundle
import android.widget.Button
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    private lateinit var button: Button

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        title = "KotlinApp"

        button = findViewById(R.id.button)
        button.setOnClickListener {
            val intent = Intent(this@MainActivity, SecondActivity::class.java)
            startActivity(intent)
        }
    }
}

Bước 4: Tạo Activity thứ hai

activity_second.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="4dp">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="70dp"
        android:background="#008080"
        android:padding="5dp"
        android:text="TutorialsPoint"
        android:textColor="#fff"
        android:textSize="24sp"
        android:textStyle="bold" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/terminateButton"
        android:layout_marginBottom="20dp"
        android:gravity="center"
        android:text="Activity Two"
        android:textColor="@android:color/background_dark"
        android:textStyle="bold" />

    <Button
        android:id="@+id/terminateButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="Terminate all the activities" />

</RelativeLayout>

SecondActivity.kt

import android.os.Bundle
import android.widget.Button
import androidx.appcompat.app.AppCompatActivity
import kotlin.system.exitProcess

class SecondActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_second)
        title = "KotlinApp"

        val button: Button = findViewById(R.id.terminateButton)
        button.setOnClickListener {
            finish()
        }
    }

    override fun onDestroy() {
        super.onDestroy()
        exitProcess(0) // Thoát tiến trình, đóng tất cả Activity
    }
}

Bước 5: AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="com.example.q11">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>

Chạy ứng dụng

Kết nối thiết bị, nhấn Run Đóng tất cả Activity cùng lúc trong Android bằng Kotlin. Từ Activity One nhấn nút để mở Activity Two, sau đó nhấn "Terminate all the activities" để thoát hẳn app.

Đóng tất cả Activity cùng lúc trong Android bằng Kotlin

Đóng tất cả Activity cùng lúc trong Android bằng Kotlin

Đóng tất cả Activity cùng lúc trong Android bằng Kotlin