У меня есть приложение, которое уведомляет пользователя, когда устройство подключается к Интернету.я использую workmanager, и он работает нормально, но только когда приложение запущено!
это предполагает уведомление людей, когда они подключаются к Интернету, даже когда оно не работает!как это сделать!?
это мое первое занятие:
public class WorkActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_work);
Intent intent = new Intent();
PendingIntent pendingIntent = PendingIntent.getActivity(WorkActivity.this,0,intent,0);
Constraints constraints = new Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build();
NotifyWorker.pendingIntent = pendingIntent;
NotifyWorker.context = this;
OneTimeWorkRequest oneTimeWorkRequest = new OneTimeWorkRequest.Builder(NotifyWorker.class).setConstraints(constraints).build();
WorkManager workManager = WorkManager.getInstance();
workManager.enqueue(oneTimeWorkRequest);
}
}
и это мой рабочий класс:
public class NotifyWorker extends Worker {
public static Context context;
public static PendingIntent pendingIntent;
@NonNull
@Override
public Result doWork() {
Log.i("wd","wd");
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(context,"con")
.setSmallIcon(R.mipmap.ic_launcher)
.setLargeIcon(BitmapFactory.decodeResource(context.getResources(),R.mipmap.ic_launcher))
.setSmallIcon(R.drawable.logo)
.setContentTitle("Title")
.setContentText("Desc")
.setContentIntent(pendingIntent);
android.app.NotificationManager notificationManager =
(android.app.NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0 , notificationBuilder.build());
return Result.SUCCESS;
}
}
Я запутался: / Пожалуйста, помогите!