- 博客(17)
- 资源 (2)
- 收藏
- 关注
原创 安卓按键顺序检测触发隐藏入口的实现方式
需求场景:在AndroidTv上隐藏式调出不开放给用户的开发模式或者工厂模式。思路:在设置或者特定的页面下,按指定顺序按下遥控按键触发。
2022-08-19 12:07:27
317
原创 Android系统客制化-自定义系统广播
定制安卓系统功能时,常常需要在底层状态发生变化时把状态发给上层,比如有没有接入电源适配器、温度报警等等。这个时候增加一个系统广播是非常方便的方法之一。可以写一个系统服务在Zygote中启动在这个服务中与底层协议好,监听代表系统状态的prop变量或者别的方式去监听状态的改变可以起一个线程:new Timer().schedule(new TimerTask() { @Override public void run() { //监听并发送广播
2021-11-15 14:30:00
2809
原创 安卓获取子网掩码(Mask)
百度大法搜的获取网络配置(包括子网掩码)的方法基本都是拿wifimanager的dhcpinfo获取网络信息,这个方法获取到的其他信息都没问题,唯独子网掩码获取到的要么就是错的,要么就是0.0.0.0参考...
2021-06-03 11:55:48
3063
1
原创 安卓Wifi设置DHCP以及静态IP
静态IP参考:Android设置WIFI静态IP_lebulangzhen的博客-优快云博客DHCP代码如下:public static void setWifiDHCP() { try { WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE); WifiConfiguration wifiConf
2021-04-29 15:07:24
1585
2
原创 简单的Android下的拷贝文件单线程工具类
项目涉及到视频文件的拷贝操作,提供一个工具类的轮子以供使用package com.lanky.videobanner.utils;import android.util.Log;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.text.DecimalFormat;import static
2021-01-06 14:38:14
355
原创 AndroidOTA增量包(差分包)制作记录
制作差分包的流程整理:注:差分包需要有两版不同的软件,且制作差分包需要XXX\out\target\product\xxx\obj\PACKAGING\target_files_intermediates下的xxx-target_files-eng.lankybin-lb.liang.zip原始包,而非\out\target\product\mt5862\下的xxx-ota_update.zip完整包1、制作第一个OTA包:全编:make -jx制作OTA:make otapackage生成
2020-11-13 20:35:00
1649
原创 关于安卓handler弱引用(防止内存泄漏)
在有些APP的开发过程中,需要在service中启动activity来开启相应的活动。众所周知启动activity需要调用startActivity方法并传入intent,这个方法是属于context的,而activity、service都是context的子类,所以我们在一个activity中可以直接用这个方法,此时,startActivity和ExampleActivity.startActivity是一样的,简言之:ExampleActivity可以省略。而在service中直接startActi
2020-10-30 10:44:55
647
原创 关于Objects.equals方法的解释
通常比较字符串会使用a.equals(b)此方法前提是a需要非null,否则会NullPointException异常,而b则不会触发NullPointException异常如果判断的双方都有可能是null则推荐使用Objects.equals(a,b)Objects.equals("abc", "abc") 返回 trueObjects.equals(null, null) 返回 trueObjects.equals(null, "abc") 返回 falseObjects.equ
2020-10-30 09:41:20
3623
原创 安卓时间毫秒格式化输出
话不多说,直接上代码:Date date = new Date();date.setTime(1551798059000L);SimpleDateFormat format0=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");SimpleDateFormat format1=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");String date_str0=format0.format(date);String
2020-10-12 17:36:31
705
原创 安卓从6.0适配到7.0以上遇到的FileProvider相关问题踩坑
安卓7.0针对应用内部文件权限做了安全性限制,如果外部应用想要读取内部文件,需要通过fileprovider的形式生成临时URI给外部应用最典型的应用是应用内检查更新,涉及到下载-调用系统安装器(系统安装器相对来说也就是其他应用)安装下载好的APK首先AndroidManifest.xml里application节点里添加: <provider android:name="androidx.core.content.FileProvider"
2020-09-24 16:38:29
4857
原创 AndroidTV切其他通道时停掉安卓音乐
前段时间遇到安卓Tv上一个声音通道的问题在安卓TV上切进HDMI通道后,如果原本的安卓后台有音乐播放(比如酷狗,有些TV禁用后台播放,我这个没有禁用)依然存在如果存在此问题,说明InputSource的player没有做声音通道切换,可以用AudioManager的焦点机制来解决在进HDMI的地方(自行Log跟踪)调用下面的方法:import android.media.AudioManager;private void getAudioFocus(){ AudioMa
2020-09-04 10:12:15
464
原创 OpenCV实现点对点的透视变换(C++)
从一幅图到透视变换之后的图,如何得到原图中的点在目标图中的位置呢?用到透视变换到目标图之后得到的透视变换矩阵,同时单独对点坐标进行透视变换矩阵的操作。简单示例:从原图中确定四个点,划出一块不规则矩形的区域,把这块区域扩展成规则矩形,长宽保持原图一致效果图如下:代码分别如下:(VS2019+opencv4.1.0)获得透视变换矩阵:Mat getWarpMatrix(Point2f pt_a, Point2f pt_b, Point2f pt_c, Point2f pt_d) {
2020-08-29 12:21:54
2399
2
原创 关于android网络时间同步的framework流程
最近遇到在安卓TV上连接有线网络时断电上电开机会有系统时间和网络时间不一致(同步网络时间失败)的情况,概率在10%以上。根据需要大致看了一下流程,稍微总结了一下。纯属个人总结,可能有不严谨甚至错误的地方欢迎大家指正。NTP:一种网络时间协议,用于同步网络中各个终端的系统时间NTP时间服务器:由于涉及到时间同步,所以时间服务器一般采用高时效的UDP的package方式,存在连接不稳定超时丢包的情况相关代码:\frameworks\base\core\res\res\values\config.
2020-08-28 14:43:20
704
原创 Android反射设置和获取系统属性
安卓SystemProperties类在上层是不可见的所以我们需要用系统属性来和系统程序以及executables可执行文件做交互的时候,上层app可以采用反射方式获取set/get方法:/** * Create by LankyBin on 2020-03-23 */public class PropSetter { public void setProp(String key, String string) { String value = string;
2020-08-28 09:32:43
602
原创 OpenCV4.1.0透视变换的基本操作
C++:透视变换,代码如下:void contrast() { VideoCapture capture(0); Mat frame; int cap_w = capture.get(CV_CAP_PROP_FRAME_WIDTH); int cap_h = capture.get(CV_CAP_PROP_FRAME_HEIGHT); int cx = 531, cy = 125, dx = 531, dy = 389, ax = 95, ay = 120, bx = 85, by = 38
2020-08-27 18:34:09
456
原创 一个可以用于AndroidTV的简单的按钮焦点动效
在AndroidTV的APP里,操控逻辑都是遥控实现,所以需要在交互层面添加当前焦点所在的控件UI变化来提示用户当前操作的是哪一个按钮最简单的莫过于大小呼吸状态的变化了,代码如下:public static void viewChange(View v, Boolean hasFocus) { if (hasFocus) { ViewCompat.animate(v) .setDuration(100)
2020-08-27 18:09:17
448
googleapis的repo工具
2021-04-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人