自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (6)
  • 问答 (6)
  • 收藏
  • 关注

原创 屏幕适配遇到P30 的坑

问题原因:手上的APP希望显示手机初始字体大小,且不随系统显示和字体大小的变更变化。使用方案,设置字体为默认,显示大小为初始化配置。方案如下:Application.java @Override public void onConfigurationChanged(Configuration newConfig) { if (newConfig.fontScale != 1) { //非默认值 getResources();

2021-11-01 10:12:50 1482 1

原创 一个人必须不停地写作,才能不被茫茫人海湮灭。

一个人必须不停地写作,才能不被茫茫人海湮灭。waiting

2021-11-01 09:49:20 184

原创 通话判断卡槽

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 210

原创 修改应用内的字体大小

Resources resource = getResources();Configuration configuration = resource.getConfiguration();configuration.fontScale = 1.5f;// 设置字体的缩放比例resource.updateConfiguration(configuration, resource.getDisplayMetrics());

2021-02-20 17:08:28 306

原创 手势导航设置

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 458

原创 蓝牙传输白名单

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 819 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 421

原创 遇到巨坑SharedPreferences Set<String> getStringSet(String key, Set<String> defValues);

SharedPreferences 大家平时用的比较多,一般存储String,或者基本元素。所以其他元素的读取也理所当然的认为都差不多。问题就是出在我这次使用的getStringSet步骤先记录下:1)保存一个数组数据A,先读取旧数据,如果没有旧数据,就新建一个HashSet,将要添加的数据添加至HashSet中,最后保存,通过getHashSetData()读取并打印出来。2)保存一个数组...

2017-11-27 11:38:35 2857

原创 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 734

原创 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 1214

原创 阿里百川HotFix 接入问题记录

按照 官方文档接入后, SophixManager.getInstance().setContext(this) .setAppVersion(appVersion) .setAesKey(null) .setEnableDebug(true) .setPatchLo

2017-05-09 14:16:36 633

原创 android 7.0 DevicePolicyManager的修改

android N之前的版本是可以通过设备管理器来管理锁屏密码的。但从N以后resetPassword方法有了些改变:* &lt;em&gt;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 738

原创 MediaPlay播放不出声音

开发过程遇到: AssetFileDescriptor afd = c.getAssets().openFd("ring.mp3"); mMediaPlayer.setDataSource(afd.getFileDescriptor()); mMediaPlayer.setDataSource(c.getResources().openRawResourceFd(R

2017-02-24 16:59:13 4222

翻译 MediaPlayer

MediaPlayer 播放音频和视频的主要API。AudioManager管理音频资源和音频输出 。需要的权限::如果应用需要唤醒屏幕或者唤醒进程,或者使用MediaPlayer.setScreenOnWhilePlaying() or MediaPlayer.setWakeMode() methods,方法,需要该权限。MediaPlayer 可

2017-02-24 15:54:10 486

原创 NFC Google API

NDEF在android上使用NDEF 格式的 NFC主要有两个用处:1.读取一张NFC卡的NDEF 数据;2.发送NDEF信息到另外一台有Android Beam的设备;标签分发系统一台电量充足的android设备在屏幕没有被锁的情况通常都在检索NFC标签,除非NFC被禁止使用了;当该设备发现了一个NFC标签,被要求的行为是不经过询问用户使用哪个应用而直接用一个最

2017-02-10 17:28:38 1759

原创 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 1590

原创 AppOpsMananger source

AppOpsMananger之前在开发一个统计应用使用情况功能,自然用到了UsageState。想要从UsageState中读到数据,需要我们手动添加权限。 Log.i("UsageStateUtil", "跳转到软件使用情况权限设置"); Intent intent = new Intent("android.settings.USAGE_ACCESS

2017-02-09 10:27:44 1905

原创 绘制弧

最近看一个例子进度条最左边的绘制,绘制圆弧往右移,使用了一个方法drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter,Paint paint)关于boolean useCenter 参数的解释是: * @param useCenter If true, i

2016-11-03 11:05:36 672

原创 txt 文本转图片,txt文本缩略图

一、目的之前一篇文章说了从视频中截取一帧,这样的方案可以用作视频缩略图的方案点击打开(视频取帧)。后来想到其他文件类型是否也可以做成缩略图的方式供用户预览,比如txt、doc、excel、ppt、pdf这些文件类型怎么转换成图片呢?二、过程搜索了一番,无果。android没有提供相应的API来直接处理这个情况,但是有个方案是,使用webView加载文件,然后保存webv

2016-10-10 11:50:05 3565

原创 MediaMetadataRetriever 的使用,视频截取一帧

MediaMetadataRetriever 的使用,视频截取一帧

2016-10-09 11:57:03 3026

原创 跨应用的aidl异步回调

问题出现 最近工作遇到的问题,之前通过绑定系统签名包服务调用静默安装接口,同步获取到结果,最后将结果返回到服务器。但是新的android系统版本出来后,静默安装接口无效了,后来找到了一个新的方案代替,还是通过aidl的方式来实现,但是执行结果只能异步获取到。解决方案提出通过添加一个回调接口,执行结果异步回调给调用方疑问跨进程的回调,怎么保证调用方和被

2016-09-26 17:49:21 3323

原创 AsyncHttpClient源码解析

AsyncHttpClient 有几个构造方法。最终调用都是public AsyncHttpClient(SchemeRegistry schemeRegistry),如下: /** * Creates a new AsyncHttpClient. * * @param schemeRegistry SchemeRegistry to be used

2016-09-26 16:32:35 1115

原创 圆形头像制作,仿QQ做法。

圆形头像制作上代码之前我们先来了解一个类PorterDuffXfermode。使用 PorterDuff 模式可以创建一个图层混合模式,下面就是18中混合模式// these value must match their native equivalents. See SkPorterDuff.h public enu

2016-09-21 11:32:16 2731

原创 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 401

原创 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 4298

翻译 android 系统编译要求,官方资料

RequirementsIN THIS DOCUMENTHardware requirementsSoftware requirementsOperating systemJava Development Kit (JDK)Key packagesDevice binariesBefore you download and build the

2016-06-30 11:31:22 8444

原创 ant 打包脚本(加混淆)

-->

2016-06-30 10:48:14 1630

原创 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 4034 3

原创 关于keystore 证书转*.x509.pem 和*.pk8

最近同事分享了一篇文章文章链接,是关于动态调试的,后来仔细一看,这个功能可不止动态调试那么简单了,用不好可是能做很多坏事呢。但是我可以怀着学习技术的心情在看,绝不做坏事。这个文章说到了,怎么把classes.dex转成smali格式,smali相当于android的汇编语言;然后嵌入代码,最后重新打包。问题出在最后,我手上的签名文件只有keystore类型,但是打包方式是 j

2016-06-20 17:37:54 5506 1

原创 静默卸载(强制卸载、没有界面的卸载)6.0以下和6.0以上的实现

版权声明:本文择自http://blog.csdn.net/maodunti,未经博主允许不得转载。应用的卸载我们都再熟悉不过了,但是要不提醒用户就卸载了你知道么?当然这个不容易做到,下面讲到的方法都是采用系统签名的方法才能实现,或者大家可以用root后的设备可以实现。系统签名就是通过签名获取到系统权限去做系统才能做的事情,root以后你就获取到系统权限,这里不多谈这些权限的问题。...

2016-04-28 09:51:59 3323 1

原创 5.0以上移动数据的关闭

关于移动数据的的关闭开启,android5.0之前的方式是 /** * 启动、禁用移动数据 * @param context * @param flag * @param chkCurrent 是否需检查当前状态 */ public static void allowMobileData(Context context, boolean

2016-04-01 10:54:32 847

原创 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 4551

原创 接口到底能不能实例化。

先给大家看一个常用的代码: tv1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub

2015-08-20 10:42:22 20127

转载 Java的引用方式

对于大部分Java对象而言,程序里会有一个引用变量引用该对象,这是最常见的引用方式.除了这之外,在java.lang.ref包下面给我们提供了3个类:SoftReference、PhantomReference和WeakRerence,他们分别代表了系统对象的3种引用方式:软引用、弱引用、虚引用;下面我们就来看看java中4种对象的引用方式 1.强引用(StrongReference)

2015-03-31 09:52:25 582

获取应用使用情况增量计算

获取应用使用情况(增量),可以得到使用次数和使用时长(分钟计算)

2016-09-26

圆形头像制作

圆形头像制作,仿QQ做法。

2016-09-26

圆形头像制作,仿QQ做法

圆形头像制作,仿QQ做法

2016-09-23

keystore 证书转*.x509.pem 和*.pk8

直接运行即可,前提是证书请放在bat文件同目录下

2016-06-20

5.0以上应用使用情况分析

分析得到使用情况,包括:使用次数和使用时间。

2016-05-19

移动数据 关闭方案

5.0以下和5.0+的移动数据关闭开启

2016-05-19

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除