当设备重新启动并强制关闭应用程序时,Redmi和其他自定义中文ROM中未收到WorkManager doWork回调

问题描述 投票:2回答:3

当我的应用在后台或被刷卡杀死时,我的应用未在Redmi手机中收到推送通知。

因此,我试图通过WorkManager唤醒电话,该系统可在Redmi和其他中文自定义ROM电话以外的许多电话上使用。

这是我的Worker类代码

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);
android push-notification android-workmanager xiaomi redmi-device
3个回答
0
投票

WorkManager的哪个版本?我们修复了一些有关PeriodicWork和强制停止alpha05中应用程序的错误。 alpha06消失了,建议您尝试使用它。如果您仍然遇到相同的问题,请使用问题跟踪器上的可再现测试用例,向问题跟踪器报告。


0
投票

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <uses-permission android:name="android.permission.WAKE_LOCK" />

在清单文件中添加这些权限可能会起作用。


0
投票

@@ Sujeet @PavelPoley @VrajeshHirani以及所有使用WorkManager API的用户,即使该应用程序处于后台或已终止状态,它也可以在Android Stock OS设备或模拟器中正常运行。仅在像小米,Vivo等自定义ROM时出现问题,它们在默认情况下将“省电模式”设置为“最佳”,这使得WorkManager API无法正常工作。请将其设置为无限制,您会看到WorkManager将运行该任务。

注意:我正在使用1.0.1版,并且在对节电模式进行了上述更改之后,它与小米设备的搭配效果很好。

© www.soinside.com 2019 - 2024. All rights reserved.