
Android-杂记
夏至的稻穗
只要结果是正确的,过程你让我多痛苦都行
展开
-
AlarmManager set 设置定时闹钟,延时执行的问题
背景:使用 AlarmManager 给系统设置定时关机,延时了1个多小时的才执行的问题接到问题后,首先排查了代码,看到代码使用的是 Android 自带的 AlarmManager 设置一个闹钟Pen,当时间到了, /** * 设置定时关机 * @param time 多少ms后关机 */ fun shutDownSystem(time: Long) { val intent = Intent(WebConfigApi.context,Shu原创 2021-09-08 11:53:58 · 624 阅读 · 0 评论 -
小米MIUI NFC、WIFI权限排查踩坑
背景: 小米手机使用NFC时,会提示是否使用NFC弹窗,如果点击拒绝,则下次碰 NFC 无反应。一. 现象NFC 的使用非常简单,只需要在 AndroidManifest.xml 上 注册权限即可:<uses-permission android:name="android.permission.NFC" />但 MIUI 可能考虑安全问题,NFC 有使用权限限制,如:经排查,安卓官网并没有对 NFC 使用有特殊权限申请,其他手机使用 NFC 无该情况。二. 问题排查既然涉及权原创 2021-09-08 11:15:37 · 1699 阅读 · 0 评论 -
添加 framework.jar,混淆失败(不混淆framework.jar)
开发一些系统相关的类时,常常需要引入 framework.jar 去调用一些 hide 的类或 api,一般的做法就是在 libs 中加入该 jar 包,如:如果你要调用,还需要在 project 的build.gradle 添加: gradle.projectsEvaluated { tasks.withType(JavaCompile) { //设置jar相对包路径或绝对路径 options.compilerArgs.add('原创 2021-01-28 17:36:03 · 301 阅读 · 0 评论 -
Mac 环境下 Android 使用Jenkins 构建自动化打包
最近在看使用 jenkins 进行自动化打包,现在记录一下,方便后面查询。这里的环境为 Mac ,所以window的,可以看后面构建的部分。一. 下载安装首先,直接去到官网 下载,选择左边稳定办版找到你的环境,我这里为 mac,官网推荐的方式是使用 brew如果你的电脑还未安装 brew ,可以通过这篇文章Mac必备神奇homebrew下载成功之后,执行 jenkins-lts 就可以启动 jenkins了,接着,在浏览器上输入 localhost:8080,就会出现jenkins 的页面,然原创 2020-12-28 10:54:17 · 901 阅读 · 0 评论 -
Android 快速获取热点名称密码
目前很多厂商都会使用 wlan1 来配置热点,这样使用Android原生的接口,是拿不到热点名称和密码的,但使用命令就可以快速拿到;首先,为避免权限问题,先adb rootadb remount然后 adb shell 进入设备,输入以下指令,找到热点配置信息busybox ps | grep hostapd然后使用 cat 看看 /data/misc/wifi/hostapd.conf可以看到,名称和密码都能看到了。你可以使用File file = new File(confP原创 2020-12-03 18:02:32 · 1963 阅读 · 0 评论 -
Kotlin -正确退出forEach
最近在代码评审的时候,竟然看到同事使用 kotlin 的forEach,他以为使用 return@forEach 就可以退出了,相当于 break,但其实并不是,只是相当于 for 的 continue。一. 问题复现那么,如何正确退出 forEach呢?先看这段代码,打印出什么?listOf(1, 2, 3, 4, 5).forEach { if (it == 3) return@forEach print(it)}打印如下:1245嗯,看起来就相当于 for 的原创 2020-11-07 12:11:33 · 3325 阅读 · 1 评论 -
Android 10 扫描蓝牙失败问题
最近在开发蓝牙,发现在 Android 10 的设备上,只能扫描到已配对的设备,没匹配的设备,扫描不到,就广播没回调到;BLE 低功耗也扫描不到。根据官网,已经添加了:ACCESS_FINE_LOCATION 精准定位了还是不行,google 了一波,发现在https://github.com/E。ddyVerbruggen/nativescript-bluetooth/issues/173 找到答案开启gps后,就扫描到其他设备了,强制开启 gps 有点不优雅,可以添加个提示,让用户自己去开启原创 2020-07-30 10:55:17 · 1682 阅读 · 0 评论 -
Android studio4.0 Build Output 中文乱码问题
最近更新Android studio 4.0 ,发现了中文乱码的问题,具体如下:解决方法如下:双击shift ,输入 Edit Custom VM Options ,如下:点击第一个,如果没有回提示创建;然后输入:#不要有空格-Dfile.encoding=UTF-8注意!!!前面不要有空格,一定要记住,不然你的 studio 就打不开了。保存,重启即可...原创 2020-06-20 19:57:56 · 1716 阅读 · 0 评论 -
cmake 逗号引发的错误
问题描述:The target name "vvw" is reserved or not valid for certain CMake features,逗号引发的问题,cmake 用空格区分的原代码:#导入第三方so包,并声明为 IMPORTED 属性,指明只是想把 so 导入到项目中add_library( vvw, SHARED, IMPORTED)去掉逗号:#导入第三方so包,并声明为 IMPORTED 属性,指明只是想把 so原创 2020-06-10 09:37:31 · 1143 阅读 · 0 评论 -
Android Studio3.5.1 创建kotlin工程慢和超时问题的一些坑
在 as 创建kotlin工程时,发现特别慢且超时,原因也理解,就是一些插件和配置需要翻墙。网上也有配置,但有几个点需要注意。当你新建工程,发现 gradle 实在慢,注意这个时候,不要改 gradle 配置后,立即重启,这样虽然能关掉后台进程,但第二次进来后,该了 gradle 也不会出现 try again 等选项了,却 run 这里,也是没有设备可选的。注意!不要restart,不要...原创 2020-04-29 07:03:50 · 1381 阅读 · 0 评论 -
ScaleGestureDetector 在两指距离较短时,不能缩放
今天测试反馈缩放时,卡顿,没有缩放。一、问题分析调试了发现,当手指距离很短的时候scale = detector.getScaleFactor();scale 等于 1,基本不动,那肯定不会缩放了。去到 ScaleGestureDetector 的源码,如果要回到 public boolean onScale(ScaleGestureDetector detector) ,则它的条件如...原创 2020-04-03 17:22:16 · 1293 阅读 · 7 评论 -
Window 下安装 hexo ,创建自己的博客
首先得安装 nodejs ,看我以前写得文章:Window下如何安装 nodejs当配置好路径之后,使用如何命令:npm install -g hexo-cli输入 hexo -v 看看是否成功:为了避免编码问题,建议都采用 gitbash 命令行操作,反正我吃过亏了!!!!接着,在你随便哪个盘下,新建一个 文件夹,比如MyBlog,然后使用 hexo init MyBlog:...原创 2019-09-09 17:53:14 · 205 阅读 · 0 评论 -
Android 7.0 以上通过系统图库打开图片的方法
报错:android.os.FileUriExposedException: file:///storage/emulated/0/photo.jpeg exposed beyond app through ClipData.Item.getUri()解决public class MainActivity extends AppCompatActivity { @Override...原创 2019-08-14 11:02:40 · 3292 阅读 · 0 评论 -
Android 应用白屏、黑屏、闪屏解决方法 (秒开应用思路)
当应用的界面需要时间渲染的时候,就会出现上面的白屏和黑屏问题;问题复现:开机引导中有用户协议一大串字符,导致打开卡机引导白屏从上面知道了,就是因为字符串太多了,需要渲染的时间较多,导致白屏了。StartingWindow 惹的锅从 Android 的绘制流程我们知道,都是 先绘制背景再绘制内容 的。但是,从Activity 的onCreate 中 setContentVeiw(),...原创 2019-03-13 17:29:57 · 6777 阅读 · 1 评论 -
Fastjson关于泛型的 json 转 对象
如题,很多时候,我们会定义一个基类,比如:public class BaseResponse<T> { public String fun; public String stat; public T cbk; @Override public String toString() { return "BaseResponse{"...原创 2018-11-20 11:10:43 · 4941 阅读 · 0 评论 -
关于 Xfermode 正确理解姿势
作者: 夏至 欢迎转载,但保留这段申明 http://blog.csdn.net/u011418943/article/details/79310254首先,先抛出一张 Google 的示例图,这是一张让人尴尬的效果图: 为啥这么说?因为这张图为了能够显示 PorterDuff 的效果,代码是做了一些效果的,这就导致了一些小伙伴在写 demo 理解的时候,发现跟 Goo...原创 2018-02-11 13:59:40 · 462 阅读 · 0 评论 -
关于使用 Okhttps,response.body().byteStream(),用decodeStream解析,Bitmap为null的解决方法
作者:郑少锐 请保留这段申明,谢谢。 最近在用 okhttp3下载图片,搞过图片下载的都知道,如果不对图片进行处理,那么OOM的问题始终会伴随着你; 然而在用 inputstram is = response.body().byteStream() ,用 Bitmap.decodeStream() 解析时,Bitmap一直返回null,这样我们根本无法用 options.inSa原创 2017-02-18 14:38:59 · 7600 阅读 · 0 评论