Hallo teman-teman, hari ini kita akan bahas bagaimana cara merestart aplikasi yang sudah teman-teman buat. Simplenya ini akan dibutuhkan ketika kamu set value di aplikasi, dan itu akan baru berubah jika aplikasi kamu di reopen.

Salah satu contohnya adalah ketika kamu menerapkan tracking name file aplikasi, seperti feature greeter.

Untuk melakukan restart, kamu bisa gunakan code kotlin seperti ini :

val context = signal.context
        val packageManager = context.packageManager
        val intent = packageManager.getLaunchIntentForPackage(context.packageName)
        val componentName = intent?.component
        val mainIntent = Intent.makeRestartActivityTask(componentName)
        context.startActivity(mainIntent)
        Runtime.getRuntime().exit(0)

Untuk lengkapnya, kamu bisa cobain seperti ini :

private fun restartDevice(status: Boolean) {
        viewModel.saveStatusDevGreeter(status)
        lifecycleScope.launch {
            delay(1500L)
            safeContext { context ->
                val packageManager = context.packageManager
                val intent = packageManager.getLaunchIntentForPackage(context.packageName)
                val componentName = intent?.component
                val mainIntent = Intent.makeRestartActivityTask(componentName)
                context.startActivity(mainIntent)
                Runtime.getRuntime().exit(0)
            }
        }
    }

Pada fungsi diatas, kita melakukan saveStatusDevGreeter pada sharepreference. Itulah kenapa pada code diatas terdapat delay, memastikan value telah disimpan dan kemudian baru melakukan restart aplikasi.

Gimana? menarik ya

Categorized in:

Tagged in:

,