Teknologi & DevelopmentAndroidTrik : Fungsi Mendeteksi Apakah Aplikasi Android Kita Sedang...

Trik : Fungsi Mendeteksi Apakah Aplikasi Android Kita Sedang Berjalan atau Tidak

-

GULANGGULING.COM | ANDROID – Kali ini saya akan berbagi mengenai bagaimana cara mendeteksi apakah aplikasi Android kita sedang berjalan atau tidak. Berjalan atau tidak yang saya maksud di sini adalah apakah aplikasi itu berjalan secara background atau foreground.

Aplikasi yang berjalan secara foreground adalah aplikasi yang sedang kita buka atau aktif digunakan. Sementara itu aplikasi yang berjalan secara background bisa dikatakan aplikasi yang telah kita tutup. 

Untuk apa saya menggunakan fungsi ini? Awalnya saya membuat sebuah sevices sederhana yang isinya akan melakukan update pada tampilan UI ketika aplikasi itu berjalan. Nah untuk itu saya perlu fungsi ini untuk mendeteksi apakah aplikasi sedang berjalan atau tidak, sebelum akhirnya melakukan update tampilan UI.

Tanpa fungsi pengecekan ini, maka services akan menyebabkan eror force closed jika aplikasi sedang tidak berjalan.

Fungsi ini saya temukan di stackoverflow, secara garis besar cara pengecekan ini dengan membaca top activity, kemudian mencocokan dengan package name dari aplikasi kita. Perhatikan fungsi di bawah ini.

private boolean isAppIsInBackground(Context context) {
    boolean isInBackground = true;
    ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT_WATCH) {
        List<ActivityManager.RunningAppProcessInfo> runningProcesses = am.getRunningAppProcesses();
        for (ActivityManager.RunningAppProcessInfo processInfo : runningProcesses) {
            if (processInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
                for (String activeProcess : processInfo.pkgList) {
                    if (activeProcess.equals(context.getPackageName())) {
                        isInBackground = false;
                    }
                }
            }
        }
    } else {
        List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
        ComponentName componentInfo = taskInfo.get(0).topActivity;
        if (componentInfo.getPackageName().equals(context.getPackageName())) {
            isInBackground = false;
        }
    }

    return isInBackground;
}

Fungsi tersebut akan mengembalikan nilai True jika aplikasi sedang berjalan secara background dan akan mengembalikan nilai False jika aplikasi kita sedang berjalan.

Sekian dan semoga bermanfaat.

 

Baca Artikel lain tentang Android di bawah :

 

Ardhitya Wiedha Irawan
Ardhitya Wiedha Irawanhttp://aiueo.web.id
Full time Web Developer - Part time Android Coder - Part time Publisher - Big fan of #GGMU.

Latest news

Perbedaan Apache2 Reload dan Restart ?

Kamu pengguna apache ? ahh selamat! berarti kamu orang lama yang sulit move on haha. Konon sekarang di dunia...

Membuat Shortcut untuk switch Dark dan Light Mode di Macbook

Baru baru ini aku menginginkan sebuah fungsi tombol yang bisa mengganti tema di Macbook secara cepat, dari Dark Mode...

Cara buat Sticker langsung di Web WhatsApp tanpa Install aplikasi!

Hai sob! kali ini gulangguling.com akan berbagi cara mudah membuat sticker untuk whatsapp tanpa harus install aplikasi lainnya. Sering...

Cara Mengembalikan Nomer WhatsApp yang terkena Banned

Halo teman-teman. Kali ini saya akan berbagi cara mengembalikan nomer yang sudah terkena banned dari aplikasi WhatsApp. Tapi sebelumnya...

Aplikasi Rambox, dapat digunakan untuk login banyak akun WhatsApp hingga marketing jualan.

Aplikasi Rambox adalah sebuah program yang dirancang untuk mengintegrasikan beberapa aplikasi chatting dan kolaborasi dalam satu tempat. Dengan menggunakan...

Cara melihat history Kometar dan Like di Instagram

Pernah penasaran dengan apa saja sih yang pernah kita lakukan di Instagram? seperti kita likes komentarin postingan siapa saja...

Must read

You might also likeRELATED
Recommended to you