
Android开发
呈叙墨客
这个作者很懒,什么都没留下…
展开
-
RecyclerView通过DPAD按键上下切换焦点 切换到界面外的控件时焦点会左右乱跳
RecyclerView上下切换焦点左右乱跳原创 2022-07-21 16:24:05 · 1190 阅读 · 0 评论 -
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED参数详解
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED原创 2022-06-08 11:59:35 · 2274 阅读 · 0 评论 -
android.os.TransactionTooLargeException Binder传输数据的大小限制 sendBroadcast 数据大小限制
android.os.TransactionTooLargeException: data parcel size原创 2022-04-27 11:26:57 · 2314 阅读 · 0 评论 -
android 原生音量条
android6.0原生音量条原创 2022-02-17 18:31:09 · 1434 阅读 · 0 评论 -
java.lang.BootstrapMethodError: Exception from call site #0 bootstrap method 解决办法
java.lang.BootstrapMethodError: Exception from call site #0 bootstrap method 解决办法原因使用了lambda,但编译配置的不是JDK 1.8 编译环境。getHandler().post(() -> updateUI());解决办法XXXApp.gradle 添加以下配置android { // ... compileOptions { sourceCompatibility = '原创 2022-01-10 15:14:07 · 3621 阅读 · 0 评论 -
Element resources must be declared
android资源目录报错 无法打包中文资源比如 values-zh-rCN 写错成了 value-zh-rCN 会有错误警告 Element resources must be declared 但能编译通过!!!<?xml version="1.0" encoding="utf-8"?><resources></resources>...原创 2022-01-07 18:52:16 · 1595 阅读 · 0 评论 -
Android进度条背景变暗解决办法 自定义SeekBar主题
Android进度条背景变暗解决办法:不要使用图片,使用xml背景。自定义进度条主题 <style name="ProgressBarStyle" parent="@android:style/Widget.ProgressBar.Horizontal"> <item name="android:layout_width">600dp</item> <item name="android:layout_height">原创 2021-12-14 16:12:38 · 1956 阅读 · 0 评论 -
E/Parcel: Class not found when unmarshalling: com.xxx.xxx.XXXData Android无法接收带Parcelable的广播解决办法
Android无法接收带Parcelble的广播解决办法示例代码Intent intent = new Intent("xxx.xxx.ACTION");Bundle bundle = new Bundle();bundle.putParcelable("data", data); // 必须调用,否则可能会导致 android.os.BadParcelableException: ClassNotFoundException when unmarshalling:bundle.setClass原创 2021-09-06 19:15:15 · 481 阅读 · 0 评论 -
Android WIFIdirect discoverPeers onFailure
WifiP2pManager.discoverPeers fails in android 10WifiP2pManager discoverPeers onFailure原因:未打开手机定位。未获取到定位授权。其他原因参考:https://stackoverflow.com/questions/65018782/wifip2pmanager-discoverpeers-fails-in-android-10-despite-of-using-runtime-perm...原创 2021-07-24 16:16:04 · 553 阅读 · 1 评论 -
Android多国语言翻译 字符串目录详解
Android多国语言翻译 国际化命名规则values-[ 语言简称]-r[地区]常用语言values #默认语言 找不到对应语言就会使用这里values-ar # 拉伯语 Arabicvalues-de # 德语 Germanvalues-en # 英语 Englishvalues-es # 西班牙语 Spanishvalues-fr # 法语 Frenchvalues-ja # 日语 Japanesevalues-pt # 葡萄牙语 Portu原创 2021-06-21 10:30:54 · 1295 阅读 · 0 评论 -
android10获取WiFi名称 已经连接的WiFi名称 SSID
WifiManager.NETWORK_STATE_CHANGED_ACTION 广播在Android9.0还有效,Android10.0已经无效了。WifiInfo wifiInfo = intent.getParcelableExtra(WifiManager.EXTRA_WIFI_INFO);String bssid = intent.getStringExtra(WifiManager.EXTRA_BSSID);解决办法:android10如果要用到wifi相关的api时要引用ACCESS原创 2021-05-19 16:27:07 · 3745 阅读 · 2 评论 -
Android string 数字转阿拉伯语言格式
Android string 数字转阿拉伯语言格式String str;str = String.format(Locale.getDefault(), “%.2f”, 101.2f); // 转换为阿拉伯格式str = String.format(Locale.getDefault(), “%d”, 1024); // 转换为阿拉伯格式str = String.format(Locale.US, “%d”, 1024); // 转换为英文格式参考:Android 修改阿拉伯语数字显示..原创 2021-05-19 14:29:32 · 1041 阅读 · 0 评论 -
Android TextView 跑马灯,解决跑马灯抖动问题
Android TextView 跑马灯实现 解决跑马灯抖动跑马灯抖动原因如果有很短时间的定时任务在持续调用 setText(),比如1秒重复刷新TextView, 则会导致跑马灯重新开始,从而出现跑马灯抖动问题!!!解决办法:重写 TextView 的 setText 方法,如下代码所示。代码实现package com.xxx.view;import android.content.Context;import android.graphics.Rect;import android.原创 2021-05-15 14:20:27 · 2155 阅读 · 0 评论 -
Caused by: java.lang.NoSuchFieldError: No static field 解决办法
报错信息:Caused by: java.lang.NoSuchFieldError: No static field tv_playof type I in class Lcom/xxx/widget/R$id; or its superclasses (declaration of 'com.xxx.widget.R$id' 分析:项目采用模块化设计,主模块和子模块,存在同样名称的资源id或者layout文件。原因1:存在同样名称的资源id: android:id="@+id/tv_play原创 2021-05-13 16:43:55 · 3975 阅读 · 0 评论 -
Android Studio 4.2 使用 framework.jar 替换 Android.jar 编译 (bootclasspath 变为 bootstrapClasspath)
Android Studio 4.2 使用 framework.jar 编译Step1系统会增加很多特有的API 在android SDK中,但用android studio 去编译系统APK 的时候,使用官方android SDK 编译会存在异常(自定API以及隐藏的系统API无法找到),为解决这类问题,会使用android系统源码编译出来的framework.jar 来放入android studio 进行编译。将编译出来的 alps\out\target\common\obj\JAVA_LIBR原创 2021-05-08 09:30:59 · 3819 阅读 · 2 评论 -
Android监听个人热点(Hotspot)打开关闭状态
Android监听个人热点(Hotspot)打开关闭状态package com.android.systemui.statusbar.policy;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.net.wifi.WifiManager;原创 2021-05-06 17:20:24 · 1548 阅读 · 0 评论 -
Activity onResume 时窗口动画无效解决办法
无动画原因是主题当中的这个两个属性为 true 导致的。 <item name="android:windowShowWallpaper">true</item> <item name="android:windowIsTranslucent">true</item> 解决办法强制设置为false,或者使用不带这两个属性的Theme。 <item name="android:windowShowWa原创 2021-04-24 18:16:18 · 383 阅读 · 0 评论 -
error: resource android:style/TextAppearance.Material.Widget.Button.Colored not found. 解决办法
TextAppearance.Material.Widget.Button.Borderless.Colored not found 编译报错解决办法原因:使用23版本编译导致的。compileSdkVersion 23 // 26及以上版本不会该报错targetSdkVersion 23 // 26及以上版本不会该报错解决办法:去掉 android.support.constraint.ConstraintLayout// implementation ‘com.android.supp原创 2021-03-21 09:32:58 · 1600 阅读 · 0 评论 -
Android FrameLayout等 设置子控件层级 控件最上层显示 顶层显示
View.javaview.bringToFront(); // 将view提高到最顶层显示 /** * Change the view's z order in the tree, so it's on top of other sibling * views. This ordering change may affect layout, if the parent container * uses an order-dependent layout scheme原创 2021-03-09 17:48:54 · 5708 阅读 · 0 评论 -
Android获取Activity的名称(android:label属性)
获取Activity名字,获取Activity标签 public static CharSequence getLabel(Context context, String pkgName, String clsName) { if (context == null || pkgName == null) { Log.w(TAG, "getLabel,pkgName=" + pkg + "clsName=" + clsName); ret原创 2021-01-28 11:28:14 · 2281 阅读 · 0 评论 -
Android获取字符串宽度(字符串像素)
Android获取字符串宽度Paint paint = new Paint();Rect rect = new Rect();String str = "hello";// 方法1// 返回包围整个字符串的Rect区域 该方法可获取宽度和高度paint.getTextBounds(str, 0, str.length() , rect);int width = rect.width();int height = rect.height();// 方法2:// 直接返回参数字符串所占用原创 2020-12-22 18:05:48 · 682 阅读 · 0 评论 -
WIFI连接adb调试Android设备(解决Host模式无法调试问题)
通过WiFi连接adb步骤有时候Android设备当成了Host模式,无法通过数据线调试设备,查看log。此时可以通过WiFi连接adb服务。adb切换到usb模式确保设备已经通过数据线连接到电脑,并且可以执行adb命令。adb服务切换到usb模式adb usb设置调试端口adb shell setprop service.adb.tcp.port 6666查看设备IPadb shell ifconfig inet addr:172.16.5.29 Bcast:172.16.7原创 2020-12-21 15:40:59 · 1010 阅读 · 0 评论 -
android8.0以后在Activity中调用startService启动服务报错
Activity.onReume 中 startService 报错 java.lang.IllegalStateException: Not allowed to start service Intent解决办法1(真正是前台服务,会有前台通知显示)该方法调用 startForegroundService 后必须在5s内调用 startForeground启动前台通知,否则会报 ANR/无响应。 public ComponentName startServiceOreo(Intent inte原创 2020-12-17 16:31:22 · 1703 阅读 · 0 评论 -
Android获取权限名称
Android获取权限名称 权限描述 权限组名称 public static List<String> getPermissionsName(Context context, String[] permissions) { PackageManager pm = context.getPackageManager(); ArrayList<String> arrayList = new ArrayList<String>();原创 2020-11-17 15:20:25 · 1263 阅读 · 1 评论 -
android 自定义 ListPreference summary title 颜色
在主题中添加以下配置<!-- "Theme.AppCompat.Light.NoActionBar" 该主题默认是黑色字体 --><!-- "Theme.AppCompat.NoActionBar" 该主题默认是白色字体 --><style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> <!--该主题默认是白色字体 --> <!-- title txt color -原创 2020-11-16 16:12:59 · 666 阅读 · 0 评论 -
Android11适配指南
Android11适配指南2、Android 11上的主要变更2.1 兼容性2.1.1 分区存储(Scoped storage 也叫沙盒存储机制)说明:分区存储机制使得应用在外部存储空间能有一块属于自己的专用存储区域,这块区域是私有的,因此,这块区域非常适用于保存用户的私有数据。当然,应用无法访问其他应用的专用存储区域。但如果应用需要将自己专用存储区域的特定文件让其他应用也访问得到,可以通过设置文件分享的方式,去为这些文件做可共享的标记。分区存储将在文件管理、应用程序保护、用户隐私数据保护等方面上有转载 2020-11-02 09:31:39 · 2118 阅读 · 1 评论 -
Android gradle 配置productFlavors 子模块配置productFlavors
文章目录主模块配置productFlavors子模块配置productFlavorsAndroidStudio gradle 配置 productFlavorsgradle版本distributionUrl=https://services.gradle.org/distributions/gradle-5.6.4-all.zip主模块配置productFlavorsapp/build.gradleandroid { ... flavorDimensions 'default' //原创 2020-06-03 17:56:33 · 1214 阅读 · 0 评论 -
JAVA获取文件MD5校验值
JAVA获取文件MD5校验值 JAVA字节数组转16进制字符串 /** * 获取文件MD5 * * @param path * @return */ public static String getFileMD5(String path) { /** * if use BigInteger * real 00667580b5ea2559d5a9ea86aebaceed *原创 2020-05-23 16:35:19 · 507 阅读 · 0 评论 -
APK打包文件到META-INF (打包证书等) 一键打包签名安装
准备工具aapt版本:sdk\build-tools\29.0.0\aapt.exeapksigner.jar版本: sdk\build-tools\29.0.0\lib\apksigner.jaraapt工具使用方法添加文件到apk新建个META-INF文件夹把CER文件放入即可带路径打包删除打包的文件: (如果已经存在则要先执行删除操作)aapt r app-debug.apk ...原创 2020-03-22 12:24:50 · 1517 阅读 · 0 评论 -
android9.0 userdebug版本root方法
1. 创建root.cmd文件 拷贝以下命令到创建root.cmd@ECHO OFFecho %time%adb reboot bootloaderping 127.0.0.1 -n 12 > nulfastboot flashing unlockping 127.0.0.1 -n 10 > nulfastboot reboot2. 进入设置APP打开OEM解锁操作...原创 2020-03-22 11:28:20 · 4970 阅读 · 1 评论 -
Android9.0 push framework方法
文章目录push framework创建framework_push.cmd并拷贝以下命令push services创建services_push.cmd并拷贝以下命令push framework以前只需要push*.jar包,但9.0开始push了不会生效。需要其他的文件如下。创建framework_push.cmd并拷贝以下命令@ECHO OFFecho %time%adb roo...原创 2020-03-22 11:25:04 · 1190 阅读 · 0 评论