Membuat aplikasi tetap berjalan walaupun aplikasi di hapus dari ( recent app )

Selamat Pagi / Siang / Malam  mohon bertanya , saya membuat aplikasi monitoring , yang datanya saya ambil dari realtime firebase , jika ada data update maka akan muncul notifikasi , tapi ketika aplikasi saya tutup dan saya hapus dari " recent app " notifikasinya tidak tampil

Bagaiman cara agar notifikasinya tetep update walaupun app ter close dan tidak ada dalam recent app ?

Terima kasih sebelumnya

avatar MakrusAli
@MakrusAli

3 Kontribusi 1 Poin

Diperbarui 3 tahun yang lalu

3 Jawaban:

<div>Halo <a href="https://sekolahkoding.com/user/MakrusAli">@MakrusAli</a><br>Mohon Izin menjawab,<br><br><strong>Penjelasan</strong><br>Mendukung pemberitahuan push berbasis api untuk semua perangkat seperti labirin. Ada 3 skenario untuk notifikasi push:<br><br>1. Latar depan (aktifkan metode onMessageReceived FirebaseMessagingService)<br>2. Latar belakang (tidak dapat mengaktifkan FirebaseMessagingService, tetapi layanan firebase mendorong pesan mereka ke Notification Tray perangkat)<br>3. App kill (tidak dapat mengaktifkan FirebaseMessagingService firebase service mendorong pesan mereka ke Notification Tray perangkat)<br><br>CATATAN: Beberapa perangkat Cina seperti Xiaomi, Asus, Huawei dll. Memaksa menghentikan aplikasi Anda saat Anda menggesek keluar dari tumpukan latar belakang Anda, sehingga layanannya mati. Oleh karena itu, layanan firebase tidak berjalan dan tidak dapat memasukkan notifikasi ke baki Notifikasi.<br><br>Di Xiaomi - keamanan -&gt; izin -&gt; mulai otomatis lalu centang tandai aplikasi Anda. Aktifkan ini berarti layanan aplikasi apa pun selalu berjalan di latar belakang. Kemudian Anda mendapatkan semua jenis notifikasi dari aplikasi Anda setiap saat.<br><br>Jika Anda ingin mempelajari lebih lanjut tentang itu, Periksa itu dan jika Anda ingin membuka halaman keamanan perangkat tertentu dari aplikasi Anda, periksa ini.<br><br>=============================================================<br><strong>CARA 1</strong><br>Anda bisa menggunakan layanan ini, yang perlu Anda lakukan hanyalah Memulai layanan ini onStop () dalam siklus hidup aktivitas Anda. Dengan kode ini: startService (new Intent (this, NotificationService.class)); maka Anda dapat membuat Kelas Java baru dan menempelkan kode ini di dalamnya:<br><br></div><pre>public class NotificationService extends Service {

Timer timer;
TimerTask timerTask;
String TAG = &quot;Timers&quot;;
int Your_X_SECS = 5;


@Override
public IBinder onBind(Intent arg0) {
    return null;
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    Log.e(TAG, &quot;onStartCommand&quot;);
    super.onStartCommand(intent, flags, startId);

    startTimer();

    return START_STICKY;
}


@Override
public void onCreate() {
    Log.e(TAG, &quot;onCreate&quot;);


}

@Override
public void onDestroy() {
    Log.e(TAG, &quot;onDestroy&quot;);
    stoptimertask();
    super.onDestroy();


}

//we are going to use a handler to be able to run in our TimerTask
final Handler handler = new Handler();


public void startTimer() {
    //set a new Timer
    timer = new Timer();

    //initialize the TimerTask&#039;s job
    initializeTimerTask();

    //schedule the timer, after the first 5000ms the TimerTask will run every 10000ms
    timer.schedule(timerTask, 5000, Your_X_SECS * 1000); //
    //timer.schedule(timerTask, 5000,1000); //
}

public void stoptimertask() {
    //stop the timer, if it&#039;s not already null
    if (timer != null) {
        timer.cancel();
        timer = null;
    }
}

public void initializeTimerTask() {

    timerTask = new TimerTask() {
        public void run() {

            //use a handler to run a toast that shows the current timestamp
            handler.post(new Runnable() {
                public void run() {

                    //TODO CALL NOTIFICATION FUNC
                    YOURNOTIFICATIONFUNCTION();

                }
            });
        }
    };
}

} <br></pre><div><br>Setelah ini, Anda hanya perlu menggabungkan layanan dengan manifest.xml:<br><br></div><pre>&lt;service android:name=".NotificationService" android:label="@string/app_name"&gt; &lt;intent-filter&gt; &lt;action android:name="your.app.domain.NotificationService" /&gt;

            &amp;lt;category android:name=&quot;android.intent.category.DEFAULT&quot; /&amp;gt;
        &amp;lt;/intent-filter&amp;gt;
    &amp;lt;/service&amp;gt;&lt;/pre&gt;&lt;div&gt;&lt;br&gt;================================================================&lt;br&gt;&lt;strong&gt;CARA 2&lt;/strong&gt;&lt;br&gt;&lt;br&gt;Tambahkan BootBroadcastReceiver di file Manifest&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;pre&gt;&amp;lt;receiver
        android:name=&quot;.OnBootBroadcastReceiver&quot;&amp;gt;
        &amp;lt;intent-filter&amp;gt;
            &amp;lt;action android:name=&quot;android.intent.action.BOOT_COMPLETED&quot;/&amp;gt;
        &amp;lt;/intent-filter&amp;gt;

&lt;/receiver&gt; <br></pre><div><br>Buat file Java Mengikuti. panggil FirebaseMessagingReceiveService di dalamnya.<br><br></div><pre>import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent;

public class OnBootBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Intent i = new Intent("com.demo.FirebaseMessagingReceiveService"); i.setClass(context, FirebaseMessagingReceiveService.class); context.startService(i); } }</pre><div><br>Sumber:<br>- https://stackoverflow.com/questions/51334341/notification-not-showing-when-the-app-is-closed<br>- https://stackoverflow.com/questions/39674850/send-a-notification-when-the-app-is-closed<br>- https://stackoverflow.com/questions/46656632/push-notification-not-displayed-when-app-is-closed-in-android<br><br>Semoga dapat membantu</div>

avatar keccikun
@keccikun

364 Kontribusi 196 Poin

Dipost 3 tahun yang lalu

<div>Beberapa aplikasi seluler menyediakan latar belakang untuk Anda jalankan di latar belakang. Tapi itu cukup merusak sumber daya, Anda harus mempertimbangkannya saat menggunakannya. Beberapa tempat seperti <a href="https://bhcmod.com/">https://bhcmod.com/</a> memiliki beberapa aplikasi Android terbaik yang dapat Anda temukan dan gunakan. Semoga berhasil</div>

avatar vincentemmanuel_google
@vincentemmanuel_google

1 Kontribusi 0 Poin

Dipost 3 tahun yang lalu

<div>Terima Kasih Banyak Mas <a href="https://sekolahkoding.com/user/keccikun">@keccikun</a> dan <a href="https://sekolahkoding.com/user/vincentemmanuel_google">@vincentemmanuel_google</a>&nbsp;</div>

avatar MakrusAli
@MakrusAli

3 Kontribusi 1 Poin

Dipost 3 tahun yang lalu

Login untuk ikut Jawaban