آموزش پاک کردن Back Stack اندروید در Jetpack Compose Navigation

Jetpack Compose

برو بچ سلام. آکام اومده با آموزش برنامه نویسی اندروید.

من تا همین دیروز سرباز بودم و همین دلیل کافی بود تا وقتی خدمت تقریبا مقدس تموم شد خودم رو در جایگاهی ببینم که دیگه عملا هیچی بلد نیستم. من قبل تر به صورت حرفه ای برنامه نویسی اندروید کار می کردم ولی الان دارم می بینم همه چیز انقدر عوض شده که دیگه من باید دوباره از صفر شروع کنم. شعر گفتن بسه… بریم سر وقت آموزش خودمون.

ممکنه شما برای برنامه اندروید یه Splash داشته باشید. توضیح اینکه اصلا Splash چیه و چطور ساخته میشه از حوصله این پست خارجه ولی خب مشکل از اونجایی پیش میاد که من دیگه نمی خوام وقتی برنامه اجرا شد و صفحه Splash که نشون داده شد کاربر بتونه با کلیک روی دکمه back دوباره به Splash برگرده برای همین دنبال یه راه حل گشتم و بهترین همینی هست که داکیومنت های رسمی خود اندروید داره.

navController?.navigate(NavGraph.Main.route) {
    popUpTo(NavGraph.Splash.route) {
        inclusive = true
    }
}

کارکرد کد بالا به این صورت خواهد بود که قبل از اجرای Main میاد و همه ی Back Stack موجود رو تا خود Splash پاک می کنه. این یعنی اینکه چون Back Stack من الان خالیه وقتی کاربر برنامه من روی back گوشی کلیک کنه برنامه بسته میشه. یا یه همچین چیزی 😜😜😜