技术文档
无风之翼
我很好
展开
-
RK平台手动进入异常Recovery界面
异常Recovery界面保存数据可放在:原创 2024-03-13 18:04:01 · 584 阅读 · 0 评论 -
android13在锁屏界面设置副屏与主屏同显
【代码】android13在锁屏界面设置副屏与主屏同显。原创 2024-01-26 15:21:34 · 539 阅读 · 0 评论 -
android11蓝牙界面概率无可用设备显示
【代码】android11蓝牙界面概率无可用设备显示。原创 2023-11-27 14:45:00 · 460 阅读 · 0 评论 -
第三方应用请求打开蓝牙时,不弹框直接默认打开
【代码】第三方应用请求打开蓝牙时,不弹直接默认打开。原创 2023-11-27 14:39:03 · 465 阅读 · 0 评论 -
长按5秒后才执行操作
【代码】长按5秒后才执行操作。原创 2023-06-12 14:32:22 · 424 阅读 · 0 评论 -
将硬盘格式化成vfat格式
apt install dosfstools -y如果提示本地没有包则,执行: apt update更新完后,再执行apt install dosfstools -y插上硬盘,先不要挂载上,用fdisk -l查看硬盘目录安装完成后使用命令:mkfs.vfat /dev/xxx(挂载目录),可以格式化硬盘为vfat格式......原创 2022-07-08 17:12:12 · 2036 阅读 · 0 评论 -
X (java:sdk) should not link to Y (java:platform)
X (java:sdk) should not link to Y (java:platform)近日在android10,往系统应用里面集成一个jar包,Android.mk文件里面用的LOCAL_SDK_VERSION := current一下报错X (java:sdk) should not link to Y (java:platform)后来查看到https://stackoverflow.com/questions/55004358/x-javasdk-should-not-link-t原创 2022-05-06 10:54:09 · 1626 阅读 · 0 评论 -
kotlin使用辅助功能自动刷短视频
kotlin使用辅助功能自动刷短视频1.在文件AndroidManifest.xml里面添加 :<service android:name=".AutoService" android:enabled="true" android:exported="true" android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"> <intent-filter>原创 2022-05-05 11:11:41 · 500 阅读 · 0 评论 -
kotlin简单回调
fun onLook(view: View?){ val student = Student() student.mLookBooks = object : Student.LookBooks { override fun onLook(content: String?) { println("zzx===>content: $content") } } student原创 2022-04-25 15:41:28 · 2798 阅读 · 0 评论 -
kotlin应用内简单构建intent
使用val intent = Intent(this,VideoPlayer::class.java)或者:val intent = Intent(this,VideoPlayer().javaClass)以前java代码是这样的:Intent intent = new Intent(this,VideoPlayer.class);原创 2022-04-20 09:51:33 · 2604 阅读 · 0 评论 -
kotlin使用intent传值
MainActivity:val intent = Intent(this,VideoPlayer().javaClass)//intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)var bundle = Bundle()bundle.putString("path",list.get(i).absoluteFile.toString())intent.putExtras(bundle)startActivity(intent)VideoPlayer:原创 2022-04-20 09:42:37 · 4070 阅读 · 1 评论 -
Runtime.getRuntime().exec执行命令的问题
Runtime.getRuntime().exec执行命令的问题平常写android代码时,经常使用Runtime.getRuntime().exec来执行一段linux命令,如果是一些简单的命令可以直接使用:Runtime.getRuntime().exec(cmd); //cmd一个字符串可以正常执行,但是如果是一些相对复杂一点点的比如:cat apk路径 | pm install -S apk大小会一直报cat: Unknown option S (see “cat --help”)可以原创 2022-02-18 17:30:55 · 3480 阅读 · 0 评论 -
android11屏蔽导航栏
android11屏蔽导航栏打开文件:frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\StatusBar.java找到方法:protected void makeStatusBarView(@Nullable RegisterStatusBarResult result) {注释掉:createNavigationBar(result);注:因为时间短,没空找其他屏蔽方式,这样屏蔽后,导航栏永远显原创 2022-02-11 14:47:44 · 4081 阅读 · 0 评论 -
adb shell打开开发者选项
adb shell打开开发者选项1.如果是正常的手机或者平板的Settings版本可以使用:am start -n com.android.settings/com.android.settings.DevelopmentSettings2.如果是电视的TVSettings版本可以使用:am start -n com.android.tv.settings/com.android.tv.settings.system.development.DevelopmentActivity以上都是RK平原创 2022-01-20 15:23:05 · 11166 阅读 · 1 评论 -
诈金花从发牌到比大小
诈金花从发牌到比大小大神请绕路!用java写的一段诈金花,从发牌到比大小选出最大的一副牌的程序,并不涉及网络或者多会话的,纯属个人娱乐之作:直接上代码:1.这是主程序入口,逻辑都在这里了public class JinHua { private List<Pai> totals; private boolean isdebug = false; public static void main(String[] args) { // TODO Auto-generated原创 2022-01-12 15:58:20 · 444 阅读 · 0 评论 -
android11代码关机
android10代码关机之前有些版本可以使用如下方式从代码里面调用关机:Intent i = new Intent("android.intent.action.ACTION_REQUEST_SHUTDOWN");i.putExtra("android.intent.extra.KEY_CONFIRM", false); //是否需要确认i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(i);最近搞android1原创 2022-01-07 16:00:39 · 2611 阅读 · 0 评论 -
往某字符串中每隔几个位置插入一个字符
往某字符串中每隔几个位置插入一个字符/** * 往某字符串中每隔几个位置插入一个字符 * @param ors 源字符串 * @param ins 需要插入的字符 * @param count 每隔多少个位置 * @return 处理后的字符串 */ public static String insertString(String ors,String ins,int count) { StringBuilder sb = new StringBuilder(ors);原创 2021-12-03 10:49:14 · 1200 阅读 · 0 评论 -
在android系统中制作系统签名jks
在android系统中制作系统签名jks步骤如下:cd build/target/product/securityopenssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.pemopenssl pkcs12 -export -in platform.x509.pem -out platform.p12 -inkey platform.pem -password pass:zzx123456 -name zzxkeytool原创 2021-10-23 15:49:41 · 1876 阅读 · 0 评论 -
android8.1强制所有界面横屏显示
android8.1强制所有界面横屏显示找到文件:frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java在方法:rotationForOrientationLw中添加如下代码:Display d = ((WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE)) .getDef原创 2021-09-10 18:04:45 · 567 阅读 · 0 评论 -
android添加系统读写sd卡权限
修改文件:frameworks/base/core/java/com/android/internal/os/ZygoteInit.java找到方法:forkSystemServerString args[] = { "--setuid=1000", "--setgid=1000", "--setgroups=1001,1002,1003,1004,1005,1006,1007,1008,1009,1010原创 2021-03-15 17:28:19 · 656 阅读 · 0 评论 -
android获取网络代理
android获取网络代理String proxy = System.getProperty( "http.proxyHost" );String port = System.getProperty( "http.proxyPort" );System.err.println("zzx===proxy:"+proxy+" port:"+port);原创 2021-02-26 15:38:48 · 1366 阅读 · 0 评论 -
android耳机音量与外放音量同步
android耳机音量与外放音量同步打开文件:frameworks\base\services\core\java\com\android\server\audio\AudioService.java找到:case MSG_SET_DEVICE_VOLUME:在下面添加代码:int d = msg.arg1;if(d == AudioSystem.DEVICE_OUT_WIRED_HEADPHONE){ d = AudioSystem.DEVICE_OUT_AUX_DIGITAL; setDe原创 2021-02-22 17:48:05 · 942 阅读 · 0 评论 -
android根据音乐路径获取音乐时长,采样率等
android根据音乐路径获取音乐时长,采样率等git路径为:https://github.com/zhangliangming/HPAudioGradle1.root build.gradleallprojects { repositories { ... maven { url 'https://jitpack.io' } }}2.app build.gradledependencies { compile 'com.github.zhangliangming:HPAu原创 2021-01-07 19:25:22 · 1054 阅读 · 0 评论 -
android代码设置wifi有密码连接跟无密码连接
/** * WiFi连接管理 * 申请权限 * * * * * 动态权限 * Manifest.permission.ACCESS_COARSE_LOCATION * Manifest.permission.ACCESS_FINE_LOCATION * */ public class WifiUtils { private static WifiUtils转载 2020-12-03 11:32:06 · 1549 阅读 · 0 评论 -
Android Studio添加aar依赖的两种方式
android{ repositories { flatDir { dirs 'libs' } }}dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation (name: 'mylibrary', ext: 'aar')}android{ //不用写 /* reposito...转载 2020-12-02 14:22:35 · 2563 阅读 · 0 评论 -
android listview停止滑动后滚动到就近项
申明变量:public int selectPosition;实现listview的onScroll接口:mMusicList.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { if(scrollState==SCROLL_STATE_IDLE){转载 2020-11-30 14:35:37 · 124 阅读 · 0 评论 -
android10 startDiscovery不扫描
最近写了个蓝牙相关的应用跑在android10上面,发现调用startDiscovery死活没有扫描后来发现除了需要:<uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />还需要: <uses-permission android:name="android原创 2020-11-20 17:11:21 · 913 阅读 · 0 评论 -
android 短按电源键关机
android 短按电源键关机打开文件:\frameworks\base\policy\src\com\android\internal\policy\impl\PhoneWindowManager.java在代码:private static final int MSG_POWER_LONG_PRESS = 14;下面添加:private static final int MSG_POWER_SHUT_DOWN=15;在:case MSG_POWER_LONG_PRESS: pow原创 2020-11-06 16:35:02 · 482 阅读 · 1 评论 -
TextView可控的跑马灯,无需焦点
参考:Android开发:TextView真正可控、不需要焦点的水平滚动–这才是真正的跑马灯直接上干货:package com.android.view;import android.content.Context;import android.graphics.Canvas;import android.os.Handler;import android.os.Message;import android.text.Layout;import android.text.TextPaint原创 2020-09-17 09:39:44 · 455 阅读 · 0 评论 -
import和import static的区别
import static静态导入是JDK1.5中的新特性。一般我们导入一个类都用 import 包名.类名;而静态导入是这样:import static 包名.类名.*;这里的多了个static,还有就是类名后面多了个 .* 。意思是导入这个类里的静态成员(静态方法、静态变量)。当然,也可以只导入某个静态方法,只要把 .* 换成静态方法名就行了。然后在这个类中,就可以直接用方法名调用静态方法,而不必用“类名.方法名()” 的方式来调用。这种方法的好处就是可以简化一些操作,例如一些工具类的静态方法,转载 2020-09-10 18:08:14 · 309 阅读 · 0 评论 -
java简单的回调例子
程序入口:public class User { public static void main(String[] args) { // TODO Auto-generated method stub SendMessage msg = new SendMessage(new SendMessage.SendMsg() { @Override public void send(String msg) { // TODO Auto-generated method s原创 2020-08-21 09:47:00 · 200 阅读 · 0 评论 -
android读取文件为字符串和复制文件
读取:public static String readFile(String fileName){ StringBuilder sb = new StringBuilder(""); try { File file = new File(fileName); //打开文件输入流 FileInputStream inputStream = new FileInputStream(file);原创 2020-08-20 19:13:58 · 719 阅读 · 0 评论 -
android从SD中读取音乐文件并排序
public static List<MusicInfo> filledDataForPath(Context context,String path,List<MusicInfo> musicInfoList){ //List<MusicInfo> musicInfoList = new ArrayList<MusicInfo>(); if(musicInfoList != null && musicInfoL原创 2020-08-20 19:07:52 · 866 阅读 · 3 评论 -
seekbar设置setProgressDrawable变形
seekbar在代码里面动态修改setProgressDrawable的时候,会发现图片跟静态设置的差别有点大,需要如下设置就行:Rect bounds = volumnSeekBar.getProgressDrawable().getBounds();volumnSeekBar.setProgressDrawable(mainActivity.getResources().getDrawable(R.drawable.seek_bar_bg_blue));volumnSeekBar.getProg原创 2020-08-20 18:58:03 · 1610 阅读 · 0 评论 -
CrashHandler 保存错误日志到文件
在全局捕获报错信息后保存到data目录:/** * 保存错误信息到文件中 * * @param ex * @return */ private void saveCrashInfoIntoSd(String errPath,Throwable ex) { String date = DateFormat.format("yyyy-MM-dd_kk:mm:ss", System.currentTimeMillis()).toStrin原创 2020-08-06 16:23:50 · 186 阅读 · 0 评论 -
android关闭媒体扫描功能
这里关闭媒体扫描功能采用的比较粗暴的方式,是直接注释了MediaScannerReceiver这个广播接收器,修改如下:基于5.1的packages\providers\MediaProvider\AndroidManifest.xml <!-- <receiver android:name="MediaScannerReceiver"> <intent-filter> <action and原创 2020-08-04 10:20:29 · 1450 阅读 · 0 评论 -
android设置自定义Toast View
设置一个简单的自定义Toast View,里面只用了一个TextView public void showToast(int resid){ String text = mActivity.getResources().getString(resid); showToast(text); } public void showToast(String text){ Toast toast = new Toast(mActivity); TextView info = new TextV原创 2020-07-23 16:56:12 · 716 阅读 · 0 评论 -
android向节点写入或者读取值
1.向节点写入值:// 写文件 private int fileWrite(String fileName, char[] buffer) { int i = -1; try { File file = new File(fileName); if(!file.exists()){ if(!file.getParentFile().exists()){ file.getParentFile().mkdirs(); } file.createNewFi原创 2020-07-20 15:40:25 · 2238 阅读 · 0 评论 -
java使用System.arraycopy截取数组
System.arraycopy(源数组, 源数组开始截取位置, 目标数组,目标数组开始位置,目标数组结束位置);如下: private static void copyArray() { int[] ints = new int[] {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; int[] start = new int[4]; int[] content = new int[ints.length - 8]; int[] end = new int[原创 2020-07-13 17:15:51 · 508 阅读 · 0 评论 -
关于使用WheelPicker遇到的简单问题
WheelPicker比较好的实现数据选择器,地址:https://github.com/SuperRabbitD/NumberPicker使用的时候app:textSize=“36dp”app:max=“50”app:min=“0”app:wheelItemCount=“5”app:selectedTextColor="@color/normal_bottom"app:textColor="@color/normal_yeallow"app:wrapSelectorWheel=“true原创 2020-06-01 16:58:27 · 515 阅读 · 0 评论