workmanager导入android studio

这个是备忘帖。

我一直在用alarmmanager做定时任务,但最近发现一个问题,就是在4.4以上版本做定时任务的时候,设两个闹钟很麻烦(其实是我不会),一直没成功,这两定时一个是每天的0点执行一个任务,一个是每4小时执行一个任务,4.4以下很简单,一个setrepeating就搞定了,但4.4以上setexact是单次任务,设置重复任务,0点任务就失效了,一直没找到方法,原因大概知道就是pentingintent会把上一个闹钟覆盖,肯定是有解决办法,但我不会,也找不到人问。于是在网上逛,发现一个人说,alarmmanager已经过时,现在用workmanager做。查了一下这个东西还真是不错,又要学新的东西。但第一步就遇到麻烦了。workmanager一直无法导入项目。研究了半天才搞定,我现在连它到底是怎么用都不知道,如果会用了,以后可能就用它了,现在把第一步导入这个第三方库到项目遇到的坑先填一下,不然以后又忘了。

方法一(我没成功):从github下载原码,再导入项目。

下载地址:

然后用网上的方法,没一个好用的,各种问题。就不一一罗列了。

方法二:直接下载jar文件,放到库里(libs)。我也没成功,一直没找到这个jar文件,也不知道到哪去找。

方法二:添加依赖。让gradle自己去找。目前看这个方法应该是功能了。

其实如何加依赖我也不会。好在可以找到方法。先到mvnrepository 去搜索workmanager(网站很慢,有时候打不开),有很多,我找了一个2.7.1版的(地址:https://mvnrepository.com/artifact/androidx.work/work-runtime/2.7.1),还有最新的是2.8多,但不是正式版。下面有怎么加到gradle里面的代码:

workmanager导入android studio_第1张图片

 其实就是这句就行:implementation group: 'androidx.work', name: 'work-runtime', version: '2.7.1'

workmanager导入android studio_第2张图片

 是加到模块那个build.gradle里面,还不是第一个文件。

然后同步会有好个问题,有点不记得了,就算同步完了,运行项目的时候还是有问题,过不去,我只记得两个:

一个类似如下错误提示:

Default interface methods are only supported starting with Android N (--min-api 24): android.view.MenuItem androidx.core.internal.view.SupportMenuItem.setContentDescription(java.lang.CharSequence)

我原来用的是3.5.2版的as,升级一下这个问题就没了。

升级后有出现一个问题:Task :app:processDebugMainManifest FAILED。意思就是manifest文件有问题,打开一看是这个:

workmanager导入android studio_第3张图片

 按照提示修改就行了,加了下面这行:

workmanager导入android studio_第4张图片

 再运行:有的没问题,有的会有下面的问题:

版本问题,具体是哪里问题也搞不清,反正也搞定了。还是上面那个加依赖的文件,在上面有一两个版本的地方:提示内容如下:The minCompileSdk (31) specified in a dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties) is greater than this module's compileSdkVersion...

workmanager导入android studio_第5张图片

 改成一样的就过了,但不能低于31,但报错还有一个minsdkversion不能低于31,这两个改完了,那个问题也没了。

我到现在都不知道这个到底java能不能用,我看好几个地方出现kotlin字样,我也没研究。希望能用好用吧。一个小白瞎折腾,全都是知识。

你可能感兴趣的:(android,studio,android,android,studio,android,ide)