- 博客(70)
- 资源 (3)
- 收藏
- 关注

原创 Android全局配置引用ttf字体包
说明:一般设置ttf字体包,都是自定义FontTextView extends TextView,设置自定义字体(太繁琐,需要在布局一个个去替换); 通过反射机制修改系统默认的字体,一次性修改APP字体;下面主要介绍第二种方式:1. 在Application下的主题添加默认的TypeFace属性<style name="AppTheme" parent="Theme.A...
2018-09-17 11:51:59
7808

原创 解决安卓webview不支持input type=file问题
前端页面中一句话,type="file" accept="image/*;capture=camera">,IOS手机中,可以直接呼起相机和相册;安卓手机则不行,部分浏览器没问题;为解决问题,直接上代码;亲测,华为、小米、三星、360、魅族都可以正常调用摄像头及相册webview.setWebChromeClient(new WebChromeClient()
2016-07-20 13:39:32
31021
13
原创 Must register a callback before starting capture, to manage resources in response to MediaProjection
mediaProjection.createVirtualDisplay之前设置mediaProjection.registerCallback即可;同时别忘了取消注册mediaProjection.unregisterCallback。安卓14录屏的时候发生异常。安卓13及以下版本整。
2025-03-27 10:11:50
240
原创 解决安卓recyclerView滚到底部不彻底问题
传统recycleview滚到到底部方式scrollToPosition(lastpositon),只能定位到最后一条数据的顶部。由于数据过长,无法滚动到最底部。此方法滚动后会出现抖动问题,因为先定位到最后一条顶部,在滚动到底部,会有一个滚动效果。如果数据刷新太频繁、就会出现抖动现象。
2025-02-25 14:36:40
576
原创 解决WebView写入localstorage但首次加载取不到值的问题
因为token为空是在首次加载页面时发生的,所以也只有在首次加载页面时会重新刷新,只有首次加载页面成功,写入localstorage,后面获取localstorage都不会失败了。但是这样做有个问题,就是token注入是在页面加载完毕之后进行,而页面加载完毕,页面中的js也就基本执行完毕了,所以页面中原有的js执行获取token是获取不到的。在android中,native经常需要和h5页面进行交互,比如将本地token写入h5,然后h5中的js获取token进行api请求。
2024-12-03 16:51:32
661
原创 hdc使用问题
3. 使用hdc shell,返回:No any target。解决办法:手机打开USB调试+USB连接方式改成文件传输。解决办法:手机打开USB调试+USB连接方式改成文件传输。4. hdc list targets出现Empty。解决办法:使用HdcExternal shell。1. HDC_SERVER_PORT配置。解决办法:使用hdc shell命令。2. path添加hdc目录。
2024-03-19 11:24:58
1047
1
原创 鸿蒙 自定义弹窗对CustomDialogController二次封装
鸿蒙官方提供了自定义customdialog,调用代码很臃肿,必须在当前页面创建customDialogController,否则无法正常弹窗dialog。2. 作为全局弹窗组件封装 内容完全由外部dialogContent定义。3.1. 具体实现,这里是ConfirmPop(对话框弹窗)3.2. 具体实现,这里是LoadingPop(加载中弹窗)解决方案:目前就定义了两种类型的dialog。1. 用于代理dialog的打开和关闭。
2024-03-07 17:50:25
1814
转载 HarmonyOS开发:解决DevEco Studio低版本导入高版本项目运行失败问题
基于DevEco Studio 4.0 Beta2,hvigorVersion为3.0.2,开发了一个项目,上传到了远程仓库,当同事下载后,却始终无法运行,频繁报错,由于API都是使用的9,第一感觉就是开发环境不同,于是,让其发来了他的开发环境,DevEco Studio 3.1.1 Release,hvigorVersion为2.4.2,果然是环境不同,那解决方式就简单了,要么升级IDE,要么改为当前设备;
2024-02-04 14:02:24
2645
1
转载 【DevEco Studio】快捷键配置详解
DevEco Studio有默认的快捷键,这不新奇,毕竟是为提升开发者开发体验的IDE。这些快捷键继承 intellij idea,若开发者之前使用的是eclipse/vscode/kde/gnome等等,也可以快速切到相应的快捷键模式下。分为两种情况:如果只是光标停留在某行,那么连续使用该快捷键,会不断注释掉下一行的代码;如果选定了某行代码(选定了某行代码一部分也算这种情况),那么连续使用该快捷键,会在添加或删除该行注释之间来回切换。补全代码,由于经常与操作系统的输入法的切换冲突,所以实际很少用。
2023-10-18 15:21:56
4908
原创 glUseProgram: GLES20 error: 1285
surfaceview发布、播放视频流的时候,view必须是可见的、在视图范围内,surfaceview才能正常渲染;
2023-09-12 10:58:09
528
转载 Android 12真机调试——安装失败,安装包异常
之前直接在Android真机调试安装都正常,前两天将我的OPPO升级到了Android 12,发现调试安装时出现“安装失败,安装包异常”的异常。在AndroidManifest.xml文件中的启动Activity节点中增加android:exported="true"属性。在project的gradle.properties文件中添加如下配置即可正常调试安装。
2023-08-28 17:36:08
726
转载 Android音频焦点处理方法
在Android设备上,默认可以有多个应用同时播放音频,但是,这种处理带来的用户体验并不好,为了解决这个问题,Android引入了音频焦点机制,一次只能有一个App持有音频焦点。一般情况下,当一个App失去音频焦点时,为了有较好的用户体验,它应该主动暂停播放,从而使新获得音频焦点的App可以清晰的播放音频,避免混音的情况。
2023-07-14 15:41:59
2110
原创 APP在后台的情况下跳转activity,APP自动切换到前台
1. 当需要跳转activity的时候,判断下当前APP是否在前台,如果在前台,则直接跳转;如果在后台,就记录下状态,当APP切换到前台的时候再进行跳转。1. APP全局有网络监听,当网络状态发生变化的时候,会跳转到ConnectActivity页面。APP从前台自动切换到后台,这是 android 4.4 后修改的新特性。2. 启动APP,切换到后台,切换网络,APP自动切换到前台。2. 当需要跳转activity的时候,intent增加参数。这样的话,即可实现app自动从前台再切换到后台;
2022-09-21 15:59:27
2985
原创 camera2配合TextureView打开相机 关闭camera后清空最后一帧
打开相机后,关闭相机,TextureView会残留最后一帧的画面
2022-07-07 15:45:03
3671
8
原创 解决安卓浏览器下载应用并安装,打开,切后台,点击桌面图标,应用重启。
bug场景描述:荣耀20pro,浏览器扫码下载apk,并安装,打开,切换到后台,点击桌面图标,应用重启,如果从后台进程中启动应用,则应用不会重启。杀死程序后台,点击桌面图标启动,切换到后台,再次点击桌面图标,应用不会重启。问题描述完毕,先排查是否应用的问题,下载qq浏览器,进行如上操作,问题复现了。分析:想起来以前遇到的问题,应用启动后,切换到后台,再次点击图标,应用重启,当时遇到这个问题的机型还挺多,解决方案就是在启动页动手脚。网上找到一个相应的帖子:Android通过本地
2021-10-21 16:00:19
1436
原创 安卓camera2 surfaceview预览MediaCodec硬编码
说明:单纯的用代码记录下实现过程,目前预览分辨率写死1280*720,实际使用过程中需要去选择合适分辨率。my_test_activity.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:l
2021-10-13 15:45:45
1945
原创 camera2打开闪光灯的坑
判断是否有闪光灯代码:Boolean flashAvailable = characteristics.get(CameraCharacteristics.FLASH_INFO_AVAILABLE);一般打开闪光灯代码:mCameraManager.setTorchMode(mCameraId, true);关闭闪光灯代码:mCameraManager.setTorchMode(mCameraId, false);但是我在打开相机之后,在开启闪光灯,提示失败:...
2020-12-17 11:15:21
4885
1
原创 安卓adb下执行top -s cpu报top: not integer: cpu解决办法
安卓9.0开发板出现如下问题:adb shell top -s cpu是按cpu排序的意思,但是我下载的adb使用-s命令时会报top: not integer: cpu度娘无解,想到adb top --help命令可见,我的adb shell top -s命令只支持0-X数字,默认9,猜测分别指代0 ,1 ,3 ,4 ,5 ,6 ,7 ,8,9 ,10 ,11 ,12PID,USER,PR,NI,VIRT,RES,SHR,S,%CPU,%MEM,TIME+,CM
2020-08-24 17:02:38
1841
转载 android adb命令 抓取系统各种 log
android adb命令 抓取系统各种 loggetLog.bat:adb rootadb remountadb wait-for-deviceadb logcat -v time > C:\log.txt在Android中不同的log写到不同的设备中,共有/dev/log/system, /dev/log/main, /dev/log/radion, /dev/log/events四中类型。其中默认Log.v等写入/dev/log/main中。Slog写入/dev/log.
2020-07-20 16:50:46
4855
原创 自定义view点击水波纹效果(加上长按和单击事件的处理)
代码:import android.annotation.SuppressLint;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.os.Handler;import android.os.Message;import android.util.AttributeS
2020-05-18 18:12:32
474
原创 自定义view点击水波纹效果
代码:import android.annotation.SuppressLint;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.os.Handler;import android.os.Message;import android.util.AttributeS
2020-05-18 15:58:20
378
原创 android adb不常见命令使用
常见问题:adb shell,后执行命令,出现:Failed to open mixer说明没有系统权限,输入:su 回车,即可获的root权限,可以对系统参数进行修改adb shell后,所有的设置都是临时的,一旦设备重启,即恢复默认;1. adb修改设备声音模块大小执行tinymix 16 147 147tinymix 17 147 147输入:tin...
2020-04-03 16:10:59
1539
原创 安卓局域网组播
知识背景:组播使用UDP对一定范围内的地址发送相同的一组Packet,即一次可以向多个接受者发出信息,其与单播的主要区别是地址的形式。IP协议分配了一定范围的地址空间给多播(多播只能使用这个范围内的IP),IPv4中组播地址范围为224.0.0.0到239.255.255.255。MulticastSocket概念:java中通过MulticastSocket实例进行通信,使用时涉及...
2020-01-20 11:19:11
1002
原创 安卓双屏异显的实现
需求:在做项目时,有一个双屏显示的需求(两个屏幕,在特定情况下,第二个屏幕显示不同内容)。百度一番,发现了Presentation关键词是实现双屏异显功能的重点。总结:Presentation父类是 dialog,所以和dialog具有相似的属性和方法。Presentation的容器是屏幕,创建时即需指定。屏幕移除,则Presentation自动取消。Presentation 的上...
2020-01-20 10:28:33
2954
原创 EditText输入字母自动大写
直接上代码:editText.setTransformationMethod(new TransInformation());/** * 小写字母自动转化为大写 */public class TransInformation extends ReplacementTransformationMethod { /** * 原本输入的小写字母 */ @Override p...
2019-10-24 15:12:37
457
原创 Android透明度百分比对应的十六进制
Android 透明度百分比对应的 十六进制:透明度百分比对应的十六进制:(说明:百分比计算出来会有小数,按照常规的四舍五入处理,详情请往下查看) 百分比:0% HEX: 00 百分比:1% HEX: 30 百分比:2% HEX: 50 百分比:3% HEX: 80 百分比:4% HEX: A0 百分比:5% HEX: D0 ...
2019-07-19 14:53:25
416
原创 Android通知权限相关工具类
package tv.buka.android.util;import android.content.Context;import android.content.Intent;import android.net.Uri;import android.os.Build;import android.provider.Settings;import android.support...
2019-07-05 11:17:10
1555
1
原创 安卓缓存管理工具类
package tv.buka.roomSdk.util;import android.content.Context;import android.os.Environment;import android.text.format.Formatter;import java.io.File;import tv.buka.roomSdk.util.uploadAndDownloa...
2019-07-05 11:04:14
344
原创 Android文件夹的下载,从数据源中找到所有的子文件的实现
数据结构如下:[{ "fileId": 436, "fileName": "新建文件夹", "fileSize": 0, "fileUrl": "", "fileCreateTime": 1562058941010, "fileMd5": "", "pid": 0, "is_file": 1}, { "fileId": 623909, "fileName": "hhhh...
2019-07-04 17:08:09
682
原创 Android下载文件,如果文件夹下有同名文件,则重命名规则为a(2)、a(3)的实现
具体实现如下:private String fileReleaseName;//文件最终名字private String SD_FOLDER;//文件夹路径/***传入文件默认名**/private void setFileReleaseNames(String mFileName) { File f = new File(SD_FOLDER); if (f.exists(...
2019-07-04 16:48:55
2218
原创 Android快速判断屏幕锁屏的方法
一、常用的屏幕判断屏幕锁定方式是广播,但是大家都知道广播的效率很低,于是不得不寻求新的方式:1. 通过PowerManager的isScreenOn方法,代码如下:PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);boolean isScreenOn = pm.isScree...
2019-07-03 11:44:43
3878
使用NanoHttpd在Android项目中搭建服务器
2020-07-22
zxing-core-3.4.0.jar
2019-05-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人