代码之家  ›  专栏  ›  技术社区  ›  Parth Anjaria

SM-G950F(Samsung s8)运行OneoffTask时出现问题

  •  3
  • Parth Anjaria  · 技术社区  · 6 年前

    我正面临一个问题,我的应用程序用户无法通过一个点。

    当用户尝试登录时,它会被登录,但在登录之后,我使用下面的代码点击了一个带有“OneoffTask”的API:

    OneoffTask task = new OneoffTask.Builder()
            .setService(SyncService.class)
            .setTag(TaskConstants.UPLOAD_STREAK)
            .setExecutionWindow(0L, 200)
            .setRequiredNetwork(Task.NETWORK_STATE_CONNECTED)
            .setPersisted(true)
            .setUpdateCurrent(true)
            .build();
    
    GcmNetworkManager mGcmNetworkManager = GcmNetworkManager.getInstance(MainApplication.getContext());
    mGcmNetworkManager.schedule(task);
    

    执行此代码,但不执行计划任务。三星s8型号:SM-G950F。它正在所有其他设备上工作。为什么这个问题,我也没有得到一个错误。只是卡在那里了。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Large    6 年前

    我不能发表评论,所以我对你所面临的问题做了一些假设,希望你是对的。如果不是这样,请告诉我。

    在奥利奥有一些限制,你需要以不同的方式来处理。

    https://developer.android.com/about/versions/oreo/background#overview

    此外,GcmNetworkManager要求用户安装了“play services”,您必须确保进行检查。GCM也很快被弃用,因此寻找其他解决方案,例如FCM: https://developers.google.com/cloud-messaging/android/client

    https://github.com/yigit/android-priority-jobqueue/wiki/Integration-with-JobScheduler-and-GcmNetworkManager

    我对JobScheduler的经验是,它在我测试过的所有较新设备(Android 6.0-->所以希望你不需要太多的“奥利奥逻辑”。

    请让我知道,如果这让你在正确的方向:)