- 博客(34)
- 资源 (6)
- 问答 (6)
- 收藏
- 关注
原创 屏幕适配遇到P30 的坑
问题原因:手上的APP希望显示手机初始字体大小,且不随系统显示和字体大小的变更变化。使用方案,设置字体为默认,显示大小为初始化配置。方案如下:Application.java @Override public void onConfigurationChanged(Configuration newConfig) { if (newConfig.fontScale != 1) { //非默认值 getResources();
2021-11-01 10:12:50
1596
1
原创 通话判断卡槽
PhoneStateListeneronCallStateChangedExt(String, int, int)第三个int就是卡槽id.4.2.2(8.0设备不支持!)Protected void onReceive(Context c, Intent i) { Int whichSim = intent getIntExtra("simSlot",-1); // so this methof return 0 ...
2021-02-20 17:09:48
290
原创 修改应用内的字体大小
Resources resource = getResources();Configuration configuration = resource.getConfiguration();configuration.fontScale = 1.5f;// 设置字体的缩放比例resource.updateConfiguration(configuration, resource.getDisplayMetrics());
2021-02-20 17:08:28
414
原创 手势导航设置
enable_navbar, package = com.android.settings, user = 0, value = 1//手势导航选择后2019-06-20 17:02:07.928 802-1491/? I/[SPMN]: insert SYSTEM -- name = enable_navbar, package = com.android.settings, user = 0, value = 0int enable_navbar =...
2021-02-20 16:57:52
593
原创 蓝牙传输白名单
1)设备选择界面:com.android.settings/.bluetooth.DevicePickerActivity;2)停止、隐藏传输界面:com.android.bluetooth/.opp.BluetoothOppTransferActivity2.1)停止传输的代码: // "Stop" buttonthis.getContentResolver().delete(mUri, null, null); BluetoothTransferContentObserver .
2021-02-20 16:51:41
957
1
原创 电量百分比显示方式
/SettingsProvider: Notifying for 0: content://settings/system/battery_percent_switch_incontent://settings/system/battery_percent_switch电池图标内 :battery_percent_switch 1,battery_percent_switch_in 1电池图标外:battery_percent_switch 1,battery_percent_switch.
2021-02-20 16:48:13
569
原创 遇到巨坑SharedPreferences Set<;String>; getStringSet(String key, Set<;String>; defValues);
SharedPreferences 大家平时用的比较多,一般存储String,或者基本元素。所以其他元素的读取也理所当然的认为都差不多。问题就是出在我这次使用的getStringSet步骤先记录下:1)保存一个数组数据A,先读取旧数据,如果没有旧数据,就新建一个HashSet,将要添加的数据添加至HashSet中,最后保存,通过getHashSetData()读取并打印出来。2)保存一个数组...
2017-11-27 11:38:35
2958
原创 setting db
2<!--3/**4 * Copyright (c) 2009, The Android Open Source Project5 *6 * Licensed under the Apache License, Version 2.0 (the "License");7 * you may not use this file except in compliance with the L
2017-09-19 10:06:09
788
原创 TED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: already added R
代码混淆遇到的问题:TED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: already addedR意思就是R文件已经添加过了。后发现应用包名底下的Activity引用过多的类,生成多个子类,混淆后使用R.java类名,导致了资源文件的R.java添加不了。解决方案就是新建包名,就是Activity
2017-05-16 16:11:11
1274
原创 阿里百川HotFix 接入问题记录
按照 官方文档接入后, SophixManager.getInstance().setContext(this) .setAppVersion(appVersion) .setAesKey(null) .setEnableDebug(true) .setPatchLo
2017-05-09 14:16:36
674
原创 android 7.0 DevicePolicyManager的修改
android N之前的版本是可以通过设备管理器来管理锁屏密码的。但从N以后resetPassword方法有了些改变:* <em>Note: This API has been limited as of {@link android.os.Build.VERSION_CODES#N} for * device admins that are not d...
2017-04-06 10:43:07
796
原创 MediaPlay播放不出声音
开发过程遇到: AssetFileDescriptor afd = c.getAssets().openFd("ring.mp3"); mMediaPlayer.setDataSource(afd.getFileDescriptor()); mMediaPlayer.setDataSource(c.getResources().openRawResourceFd(R
2017-02-24 16:59:13
4455
翻译 MediaPlayer
MediaPlayer 播放音频和视频的主要API。AudioManager管理音频资源和音频输出 。需要的权限::如果应用需要唤醒屏幕或者唤醒进程,或者使用MediaPlayer.setScreenOnWhilePlaying() or MediaPlayer.setWakeMode() methods,方法,需要该权限。MediaPlayer 可
2017-02-24 15:54:10
535
原创 NFC Google API
NDEF在android上使用NDEF 格式的 NFC主要有两个用处:1.读取一张NFC卡的NDEF 数据;2.发送NDEF信息到另外一台有Android Beam的设备;标签分发系统一台电量充足的android设备在屏幕没有被锁的情况通常都在检索NFC标签,除非NFC被禁止使用了;当该设备发现了一个NFC标签,被要求的行为是不经过询问用户使用哪个应用而直接用一个最
2017-02-10 17:28:38
1898
原创 IBinder,BBinder,BPBinder等等一系列类的联系
在写上一篇关于AppOps的博文的时候看到interface IAppOpsService { These first methods are also called by native code, so must be kept in sync with frameworks/native/include/binder/IAppOpsService.h i
2017-02-09 11:00:29
1659
原创 AppOpsMananger source
AppOpsMananger之前在开发一个统计应用使用情况功能,自然用到了UsageState。想要从UsageState中读到数据,需要我们手动添加权限。 Log.i("UsageStateUtil", "跳转到软件使用情况权限设置"); Intent intent = new Intent("android.settings.USAGE_ACCESS
2017-02-09 10:27:44
2047
原创 绘制弧
最近看一个例子进度条最左边的绘制,绘制圆弧往右移,使用了一个方法drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter,Paint paint)关于boolean useCenter 参数的解释是: * @param useCenter If true, i
2016-11-03 11:05:36
714
原创 txt 文本转图片,txt文本缩略图
一、目的之前一篇文章说了从视频中截取一帧,这样的方案可以用作视频缩略图的方案点击打开(视频取帧)。后来想到其他文件类型是否也可以做成缩略图的方式供用户预览,比如txt、doc、excel、ppt、pdf这些文件类型怎么转换成图片呢?二、过程搜索了一番,无果。android没有提供相应的API来直接处理这个情况,但是有个方案是,使用webView加载文件,然后保存webv
2016-10-10 11:50:05
3900
原创 跨应用的aidl异步回调
问题出现 最近工作遇到的问题,之前通过绑定系统签名包服务调用静默安装接口,同步获取到结果,最后将结果返回到服务器。但是新的android系统版本出来后,静默安装接口无效了,后来找到了一个新的方案代替,还是通过aidl的方式来实现,但是执行结果只能异步获取到。解决方案提出通过添加一个回调接口,执行结果异步回调给调用方疑问跨进程的回调,怎么保证调用方和被
2016-09-26 17:49:21
3480
原创 AsyncHttpClient源码解析
AsyncHttpClient 有几个构造方法。最终调用都是public AsyncHttpClient(SchemeRegistry schemeRegistry),如下: /** * Creates a new AsyncHttpClient. * * @param schemeRegistry SchemeRegistry to be used
2016-09-26 16:32:35
1183
原创 圆形头像制作,仿QQ做法。
圆形头像制作上代码之前我们先来了解一个类PorterDuffXfermode。使用 PorterDuff 模式可以创建一个图层混合模式,下面就是18中混合模式// these value must match their native equivalents. See SkPorterDuff.h public enu
2016-09-21 11:32:16
2798
原创 Handler 源码解析
Handler handler = new Handler() { public void handleMessage(android.os.Message msg) { }; }; @Override protected void onCreate(Bundle savedInstanceState) { super.o
2016-07-22 15:54:46
459
原创 Caused by: com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.
DxUNEXPECTEDTOP-LEVELEXCEPTION:java.lang.RuntimeException:Exceptionparsingclassesatcom.android.dx.command.
2016-07-13 15:27:15
4430
翻译 android 系统编译要求,官方资料
RequirementsIN THIS DOCUMENTHardware requirementsSoftware requirementsOperating systemJava Development Kit (JDK)Key packagesDevice binariesBefore you download and build the
2016-06-30 11:31:22
8693
原创 android编译(Q&A)
……Fetching project platform/external/libffiFetching projects: 98% (218/222) Fetching project platform/external/mtpdFetching projects: 100% (222/222), done. Syncing work tree: 100% (221/221)
2016-06-30 07:57:54
4990
2
原创 关于keystore 证书转*.x509.pem 和*.pk8
最近同事分享了一篇文章文章链接,是关于动态调试的,后来仔细一看,这个功能可不止动态调试那么简单了,用不好可是能做很多坏事呢。但是我可以怀着学习技术的心情在看,绝不做坏事。这个文章说到了,怎么把classes.dex转成smali格式,smali相当于android的汇编语言;然后嵌入代码,最后重新打包。问题出在最后,我手上的签名文件只有keystore类型,但是打包方式是 j
2016-06-20 17:37:54
5629
原创 静默卸载(强制卸载、没有界面的卸载)6.0以下和6.0以上的实现
版权声明:本文择自http://blog.youkuaiyun.com/maodunti,未经博主允许不得转载。应用的卸载我们都再熟悉不过了,但是要不提醒用户就卸载了你知道么?当然这个不容易做到,下面讲到的方法都是采用系统签名的方法才能实现,或者大家可以用root后的设备可以实现。系统签名就是通过签名获取到系统权限去做系统才能做的事情,root以后你就获取到系统权限,这里不多谈这些权限的问题。...
2016-04-28 09:51:59
3476
原创 5.0以上移动数据的关闭
关于移动数据的的关闭开启,android5.0之前的方式是 /** * 启动、禁用移动数据 * @param context * @param flag * @param chkCurrent 是否需检查当前状态 */ public static void allowMobileData(Context context, boolean
2016-04-01 10:54:32
939
原创 UsageStatsManager.queryUsageStats的参数interval
UsageStatsManager1.UsageStatsManager是android 5.0 以后增加的类,Provides access to device usage history and statistics。提供了设备的使用历史和数据。通过UsageStatsManager我们可以获取到当前栈顶,也就是屏幕显示的应用包名,5.0以后再使用AM.getTask()那样的方法
2016-04-01 10:12:29
4684
原创 接口到底能不能实例化。
先给大家看一个常用的代码: tv1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub
2015-08-20 10:42:22
20276
转载 Java的引用方式
对于大部分Java对象而言,程序里会有一个引用变量引用该对象,这是最常见的引用方式.除了这之外,在java.lang.ref包下面给我们提供了3个类:SoftReference、PhantomReference和WeakRerence,他们分别代表了系统对象的3种引用方式:软引用、弱引用、虚引用;下面我们就来看看java中4种对象的引用方式 1.强引用(StrongReference)
2015-03-31 09:52:25
639
Jenkins android 打包怎么重复使用配置
2022-03-25
setComponentEnabledSetting 带来的麻烦
2020-09-03
selenim 抓取iframe 中的内容,但是iframe内容跳转后怎么抓取新的?
2020-07-29
指纹验证 为什么写在Service中就拿不到返回值
2017-03-03
android 混淆打包失败
2016-06-27
有限状态机测试用例生成
2015-02-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人