自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (3)
  • 收藏
  • 关注

原创 Android 关于IC卡的读写和加密

NFC

2022-11-12 17:12:44 4269 1

原创 关于9.0系统Selinux权限问题报错的分析和处理

Selinux简介SELinux是安全增强型 Linux(Security-Enhanced Linux)简称 SELinux。它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。SELinux for Android在架构和机制上与SELinux完全一样,考虑到移动设备的特点,所以移植到Android上的只是SELinux的一个子集。SELinux for Android的安全检查几乎覆盖了所有重要的系统资源,包括域转换,类型转换,进程、内核、文件、目录、设备,App,网络及IPC相关

2021-05-17 19:24:47 1826 6

原创 系统定制-预装软件权限及安装未知应用权限

默认给与预装应用"安装未知应用"权限本来以为这是个简单的修改,万万没想到这里面坑很大。APP更新就会使用到此权限,这个功能与普通的动态申请完全不同,正常APP需要实现此功能的话,首先,1.在清单文件里添加权限:<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />2.用canRequestPackageInstalls()方法判断你的应用是否有这个权限:boolean haveIn

2020-08-06 16:53:54 2184 3

原创 系统定制-Launch3抽屉内APP排序与默认桌面显示指定APP

抽屉内APP排序与默认桌面显示指定APP抽屉内APP排序默认桌面显示指定APP修改不生效桌面APP名称不显示源码查阅地址抽屉内APP排序首先,顺着源码往上捋,很轻松就能找到有用列表封装类,packages/apps/Launcher3/src/com/android/launcher3/allapps.AlphabeticalAppsList。它的注释是The alphabetically sorted list of applications.这个类总共才五百行代码,阅读很轻松。可以找到函数o

2020-07-23 11:53:20 1461 1

原创 关于移动设备架构和SO兼容的相关

主流 CPU 架构主流 CPU 架构大致分为两种arm 架构英国 ARM 公司开发的一种 CPU 架构,特点是低功耗,主要应用在移动设备领域arm 处理器分为以下三种:armeabi:第 5 代、第 6 代基于 32 位的处理器,简称 arm,早期的 Android 手机用得比较多,现在已经被淘汰armeabi-v7a:第 7 代基于 32 位处理器,简称 v7,目前低端的 Android 设备用得比较多,现在占有率比较低arm64-v8a:第 8 代基于 64 位处理器,简称 v8,目前高端

2020-06-08 15:05:03 423

原创 系统定制-禁止在锁屏界面左上角状态栏和下拉状态栏底部显示&#34没有SIM卡 无服务&#34的提示

一个小需求,如题,但是我在搜索引擎上几乎搜不到相关文章,就权作记录一下,下次再遇到这个需求也不用从头撸源码看下来。首先,找到CarrierText类,这是系统写的一个自定义的TextView类,无服务的提示都是使用这个view显示的,那么我们就不需要在XML那边处理几个不同的页面了,只需要处理根源处,一了百了。虽然代码有五百行,但是逻辑简单,就不一个函数一个函数的解释了。找到updateCarrierText函数,这个函数里设置文字提示,不管里面的各种判断,在最后setText(displayText)

2020-06-03 09:49:07 1226 1

原创 系统定制-如何进行“模块编译”

编译命令不同编译命令区别首先需要了解不同编译命令的区别:编译指令解释m在源码树的根目录执行编译mm编译当前路径下所有模块,但不包含依赖mmm [module_path]编译指定路径下所有模块,但不包含依赖mma编译当前路径下所有模块,且包含依赖mmma [module_path]编译指定路径下所有模块,且包含依赖make [module_name]无参数,则表示编译整个Android代码模块示例模块命令make命令mmm

2020-06-02 14:35:20 367

原创 系统定制-屏蔽特定的设置页面搜索栏中出现的搜索项

定位代码所在模块搜索栏在设置页面,那么第一想法,肯定是在Settings模块中,而且在Settings模块中也找到了search的相关文件夹与代码,如果你也跟我一样的话,那么你也会在这上面浪费一天甚至更多的时间,停下来先看看这篇文章,会让你节省出这宝贵的时间。坑位记录:在点击搜索栏后,可以通过adb命令查看顶层Activity的包名可知(写一下查询顶层Activity的命令吧:adb sh...

2020-04-20 15:01:03 659

原创 系统定制-隐藏“设置”页面的功能选项

隐藏系统“设置”页面功能选项首先找到源码的“设置”模块代码,路径:packages/Setting/......找到SettingsActivity类,如果嫌麻烦也可以全局搜doUpdateTilesList函数,路径:com.android.settings.SettingsActivity类中有一个方法doUpdateTilesList就是我们所需要改动的函数,贴一下方法中的代码...

2020-04-09 10:30:25 1248

原创 线程安全,synchronized的使用与理解

synchronized的使用与理解synchronized从锁的对象的维度来看分为俩种情况锁住类锁对象实例synchronized修饰的分类修饰函数修饰正常的实例函数:修饰静态函数:修饰代码块实例对象class对象任意实例对象Object原理总结synchronized从锁的对象的维度来看分为俩种情况锁住类由于静态成员不专属于任何一个实例对象,是类成员,因此通过class对象锁可以控制静态...

2019-08-13 16:45:15 124 1

原创 关于自定义Dialog遇到的问题,处理与记录。

自定义Dialog遇到的问题粗心未调用到自定义style设置Dialog长宽布局文件内容需注意Title问题总结粗心未调用到自定义style除了默认的三个构造方法,自己还写了一个构造方法,然后在构造方法内调用父类构造方法错误,导致style未被调用,见下代码:public CopyTipsDialog(@NonNull Context context, TYPE type, onBtnCli...

2019-04-12 13:53:49 318

原创 调用相机获取图片(可裁剪)避免重复造轮子

调用相机获取图片在app中使用频率还是蛮高的,避免重复造轮子,我就整理成了一个工具类,下次再想实现这个功能只需把此类复制过去即可。 请注意看使用说明。package com.sinogeo.util;import java.io.File;import android.app.Activity;import android.content.Context;impo...

2018-06-21 10:53:12 190

原创 Android录音功能与录制讯飞听写可转为文字的音频

MediaRecorder与AudioRecord的区别MediaRecorderMediaRecorder简介MediaRecorder的代码实现AudioRecordAudioRecord简介AudioRecord的代码实现MediaRecorder与AudioRecord的区别MediaRecorder和AudioRecord都可以录制音频。区别...

2018-05-02 17:15:46 1492

原创 在APP内实现顶层窗口,悬浮窗功能。

在做一个电台类的app时,需要一个按钮始终显示在最前端,查找了一些博客,都不尽如人意,选择了其中写的比较好的一篇进行了修改,最终满足了需求。此方法使用的是系统弹窗,由于我这个项目的特殊性,这个控件是无法移动的,且用户三秒不点就会以动画的形式向上移动一半且半透明化,如果不需要这个功能可以直接删除相关代码,这个类内所有功能都有注释,很好修改,我直接整理成了一个工具类,代码如下:package com.i

2017-08-25 18:24:51 6311

原创 跳转到高德地图或百度地图或高德网页导航

最近做一个新项目,需要用到导航,项目集成了高德的SDK,所以本来想直接用SDK内的导航方法,但是发现高德最新版的导航改版了,如果SDK内加上导航模块会使得整个项目大十几二十M,所以决定弃用SDK内的导航,最终决定,采用以下方案:1.当手机内有高德地图app时,调起此app来导航 2.当手机内有百度地图app时,调起此app来导航 3.当手机内既没有高德地图app,也没有百度地图app时,调起浏览

2017-08-25 17:44:21 18552

原创 xutils3数据库模块的简单应用

首先创建数据库的db文件,代码如下,已经做了优化:public class DBHelper { private DbManager.DaoConfig daoConfig; private static DbManager db; private final String DB_NAME = "nyxdb"; private final int VERSIO

2017-08-04 19:26:22 515

原创 SeekBar的高度及thumb圆点显示不完全

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-07-06 15:02:06 13554 3

原创 调用系统相机的一些坑

最近在做一个相册功能的app,想来都是一些很简单的功能,做起来应该很快,没想到被一个调用系统相机相关的功能卡半天,现在记录并写一下。这个app有一个问题,在相册没有照片时,会显示一个去拍照的按钮让用户去拍照,然后拍完返回就会显示在列表里,这个坑就在这里,我调用系统相机拍照返回后,查找不到这个相片,onActivityResult返回的Intent也是null,经过我大半天的资料查询,解决了这个问题,

2017-01-16 15:21:19 442

原创 viewpager刷新问题

一个奇怪的问题,今天做项目,因为要删减ciewpager数据,有一个要刷新viewpager的操作,但直接调用notifyDataSetChanged()才发现没这么简单,它并不会在界面就给你删除,只会让你无法拉到你删除的界面去,想来应该是notifyDataSetChanged()这个方法在viewpager里出现了问题,经过各种找问题和检查,找到了解决方法,先列出来:在你的viewpager的适

2017-01-11 15:21:46 302

原创 时间与时间戳的转换

/** 时间小知识:y年M月d日 H时m分s秒,这是字母分别代表的时间,在转换时,如果只填一个字母,则即使那个时间只有一个数字也不会有多余的0。比如用y年M月d日 H时m分s秒 来转换时间戳,转换的时间是2017年3月5天 3时8分4秒 比如用yyyy年MM月dd日 HH时mm分ss秒 来转换时间戳,转换的时间是2017年03月05天 03时08分04秒*///将十位数时间戳转换为时间日期

2017-01-06 11:17:47 1745

原创 关于基站定位及wifi定位

基站定位因为公司的需要,在网上查基站定位,结果发现大部分都是无法实现的,不是代码有问题就是已经过期,只能自己研究,经过一天的努力,有了一些心得,首先基站定位需要这几个参数,不管你用的什么接口lac //连接基站位置区域码 cellid //连接基站编码 mcc //MCC国家码 mnc //MNC网号signalstrength//连接基站信号强度然后在基站定位方面

2016-12-29 16:57:12 7498 1

原创 使进程和服务不被杀死的思考

总结来说,使进程和服务不被杀死有俩种方法: 1.使用守护进程,即有俩个进程,当其中一个被kill后,另一个进程会来拉起,俩个进程互相守护不被kill。极光推送和微信这类app就是用的这样的方法,这也是实用性最高的方法,我还没有时间深入研究,暂且不表。2.将app内置到/system/app目录下,此为系统应用目录,拥有很高的权限,用户在没root的情况下是卸载不了的,同时在配置文件的applica

2016-12-15 17:53:03 493

原创 友盟分享:针对不同平台分享不同的内容。

友盟Android 社会化组件SDK v6.1.1是当前最新的版本,但是发现了一个问题,就是针对不同平台设置不同内容,这个功能官方论坛的说法是这样的:UMVideo umVideo = new UMVideo( "http://v.youku.com/v_show/id_XNTc0ODM4OTM2.html");umVideo.setThumb("http://ww

2016-12-08 17:34:14 524

原创 跳转到系统联系人界面 点击后返回名字和号码

intent代码Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); startActivityForResult(intent, 0);@Override protected void onActivityResult(int requestCod

2016-11-17 18:03:13 465

原创 判断手机环境和其他(如是否中文,应用处于前台,网络状态等等)

判断app是否在界面显示(焦点)public static boolean isAppInForeground(Context context) { ActivityManager activityManager = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE

2016-10-24 18:47:13 336

原创 得到手机内的(包名类名,联系人名称号码)

得到手机所有应用名和包名public static Map<String, String> queryAppInfo(Context mContext) { Map<String, String> mapName = new HashMap<String, String>(); PackageManager pm = mContext.getPackageManage

2016-10-24 17:13:31 505

原创 手机屏幕适配的一种方法

package com.activity; import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.PrintWriter;import android.os.Bundle;import android.os.Environment;impo

2016-10-24 16:57:22 330

原创 简单的POST请求和get请求

package com.dp.util;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.Map.Entry;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import or

2016-10-24 12:29:18 336

原创 全局拦截异常

package com.dp.framework; import java.io.File; import java.io.FileOutputStream; import java.io.PrintWriter; import java.io.StringWriter; import java.io.Writer; import java.lang.Thread.Uncaug

2016-10-24 12:25:46 583

原创 本地保存数据Preferences

SharedPreferences

2016-10-24 12:22:38 249

原创 在一个app内调用另一个app的指定的activity

首先将需要跳转到的app的Manifest文件中的activity修改为成以下:<activity android:name="com.dp.notepad.NoteEditActivity" > category android:name="android.intent.ca

2016-09-30 15:41:10 680 1

黄历工具类

此工具类经过代码实测(由于公司需要,我做了一个黄历app,用的就是这个)没有任何误差,可实现公历与农历日期的转换,获取节气,节日,生肖等各种黄历类app需要的时间数据等等

2017-04-11

二十四节气计算日期

通过非常复杂的算法,实现计算二十四节气准确日期,精确到秒,经过我的代码测试,这个工具类算法非常准确。可以实现上下几百年的计算。

2017-03-28

黄历宜忌天干地支吉时胎神五行冲煞诸神数据库

里面包含宜忌,天干地支,吉时,胎神,五行,冲煞,诸神等数据,年限为1950到2050年,宜忌因为文字太多已经整理成对照表(表名为yijips和yiji_num)以缩减数据库大小,数据齐全。

2017-03-27

空空如也

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

TA关注的人

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