代码之家  ›  专栏  ›  技术社区  ›  Ravi Parmar

定期工作管理器无法在Android 9和10中运行

  •  0
  • Ravi Parmar  · 技术社区  · 4 年前

    我运行的是一个定期工作经理,它无法在安卓8、9&10.但在旧版本中效果很好。

    Work Manager在诺基亚6和One plus 7T以及Moto g5 plus上进行了测试。

    使用的工作管理器版本

    implementation "androidx.work:work-runtime:2.2.0"
    
    compileSdkVersion 29
    buildToolsVersion "29.0.3"
    
    defaultConfig {
        applicationId "com.example.myApp"
        minSdkVersion 21
        targetSdkVersion 29
    

    前进规则

    -keep class*扩展了androidx。工作工人 -keep class*扩展了androidx。工作输入合并

    -keep public class*扩展了androidx。工作监工{ 公共的(…);}

    -继续上课androidx。工作工人参数

    我也尝试了一个更新的版本,但也不能正常工作。

     public void setWorker() {
            Constraints constraints = new Constraints.Builder()
                    .setRequiredNetworkType(NetworkType.CONNECTED)
                    .build();
            PeriodicWorkRequest myWork = new PeriodicWorkRequest.
                            Builder(MyWorker.class,
                            15, TimeUnit.MINUTES, 5, TimeUnit.MINUTES)
                            .addTag("app_periodic")
                            .setConstraints(constraints).build();
        
            try {
                WorkManager.getInstance(MyApplication.this)
                        .enqueueUniquePeriodicWork("app_worker_notify", 
                         ExistingPeriodicWorkPolicy.KEEP, myWork);
    
            } catch (IllegalStateException e) {
                e.printStackTrace();
            }
        }
    
    0 回复  |  直到 4 年前
    推荐文章