当我的应用程序在后台或被刷卡杀死时,我的应用程序在Redmi手机上没有收到推送通知。
因此,我试图唤醒工作经理的电话,它在许多手机上工作,除了Redmi和其他中国定制的ROM手机。
这是我的工人阶级代码
public class OpenTalkWorkManager extends Worker {
@NonNull
@Override
public Result doWork() {
Log.i("wake_up", "Waking up now: " + System.currentTimeMillis());
FirebaseUtils.getInstance().updateUserPresenceStatus(getApplicationContext(), "yes");
Intent intent = new Intent("com.opentalk.WAKE_UP");
getApplicationContext().sendBroadcast(intent);
return Result.SUCCESS;
}
我正试图通过PeriodicWorkRequest将工作排队
PeriodicWorkRequest.Builder mPeriodicWorkRequest = new PeriodicWorkRequest.Builder(OpenTalkWorkManager.class, 4, TimeUnit.MINUTES);
Constraints myConstraints = new Constraints.Builder()
.setRequiresBatteryNotLow(false)
.setRequiredNetworkType(NetworkType.NOT_REQUIRED)
.setRequiresCharging(false)
.setRequiresDeviceIdle(false)
.setRequiresStorageNotLow(false)
// Many other constraints are available, see the
// Constraints.Builder reference
.build();
PeriodicWorkRequest myWork = mPeriodicWorkRequest.setConstraints(myConstraints).build();
UUID compressionWorkId = myWork.getId();
WorkManager.getInstance().cancelWorkById(compressionWorkId);
WorkManager.getInstance().enqueue(myWork);