How to implement WorkManager to run background process (isWifiEnabled) in your Android App?

Publié le: 07 mai 2022
sur la chaîne: Programmer World
8,955
103

This video shows steps to implement workmanager API to run certain background tasks for your Android App. In this example it checks whether is Wifi is enabled or not and displays it in a toast message. However, other functionality can also be easily implemented in the doWork() method of the Worker class.

The steps for this App is referred from:
https://developer.android.com/topic/l...


I hope you like this video. For any questions, suggestions or appreciation please contact us at: https://programmerworld.co/contact/ or email at: [email protected]



Complete source code and other details/ steps of this video are posted in the below link:
https://programmerworld.co/android/ho...


However, the main Java code is copied below also for reference:


package com.programmerworld.workmanagerapp;

import androidx.appcompat.app.AppCompatActivity;
import androidx.work.OneTimeWorkRequest;
import androidx.work.PeriodicWorkRequest;
import androidx.work.WorkManager;
import androidx.work.WorkRequest;

import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

import java.util.concurrent.TimeUnit;

public class MainActivity extends AppCompatActivity {

private TextView textView;
private WorkRequest uploadWorkRequest;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

textView = findViewById(R.id.textView);

uploadWorkRequest = new OneTimeWorkRequest.Builder(UploadWorker.class)
.build();

// uploadWorkRequest = new PeriodicWorkRequest.Builder(UploadWorker.class,
// 15*60*1000, //15 mins is minimum
// TimeUnit.MILLISECONDS)
// .build();
}

public void buttonWorkManager(View view){
WorkManager
.getInstance(this)
.enqueue(uploadWorkRequest);

textView.setText("Work Manager executed!");
}
}



/**************/



package com.programmerworld.workmanagerapp;

import android.content.Context;
import android.net.wifi.WifiManager;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import androidx.work.Worker;
import androidx.work.WorkerParameters;

public class UploadWorker extends Worker {
public UploadWorker(@NonNull Context context,
@NonNull WorkerParameters workerParams) {
super(context, workerParams);
}

@NonNull
@Override
public Result doWork() {

ContextCompat.getMainExecutor(getApplicationContext()).execute(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(),
"WorkManager Started ...",
Toast.LENGTH_SHORT).show();

WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(
Context.WIFI_SERVICE);
if (wifiManager.isWifiEnabled()){
Toast.makeText(getApplicationContext(),
"Wifi Enabled",
Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(getApplicationContext(),
"Wifi Disabled",
Toast.LENGTH_LONG).show();
}
}
});
return null;
}
}


-


Sur cette page du site, vous pouvez voir la vidéo en ligne How to implement WorkManager to run background process (isWifiEnabled) in your Android App? durée heure minute seconde en bonne qualité , qui a été Téléchargé par l'utilisateur Programmer World 07 mai 2022, Partagez le lien avec vos amis et connaissances, sur youtube cette vidéo a déjà été regardée 8,955 fois et il a aimé 103 téléspectateurs. Bon visionnage!