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

Publicado em: 07 Maio 2022
no canal de: 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;
}
}


-


Nesta página do site você pode assistir ao vídeo on-line How to implement WorkManager to run background process (isWifiEnabled) in your Android App? duração hora minuto segundo em boa qualidade , que foi baixado pelo usuário Programmer World 07 Maio 2022, compartilhe o link com seus amigos e conhecidos, no youtube este vídeo já foi visto 8,955 vezes e gostou 103 espectadores. Boa visualização!