- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 Android客制化------开机拷贝文件到内置存储(2)
之前介绍了一种通过开机启动service这样的方式来内置资源,总体看起来比较麻烦。 现在再介绍一种更改系统源码的方式来内置。因为系统在framework初始化时会启动这个MediaScannerService 故而就会进行拷贝动作 直接粗暴上源码啦//这个类是android系统内置的fileutil类 外部是无法调用的diff --git a/core/java/android/os/
2018-01-19 16:48:50 1249 1
原创 Android客制化------开机拷贝文件到内置存储
此方法尽量不要拷贝大文件 在Service中进行拷贝动作package com.xxx.filecopy;import android.app.Service;import android.content.Context;import android.content.Intent;import android.content.SharedPreferences;import android
2017-12-01 16:27:03 1860
原创 Android笔记------自定义互动屏保
AndroidManifest.xml<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xxx.dream"> <uses-feature android:glEsVe
2017-12-01 16:18:40 4791 1
原创 Android客制化------设置以太网静态IP
最近有个功能,机器连接以太网之后能够通过app获取ip地址,网关,子网掩码等信息,同时还能去手动设置静态的ip。在网上查阅了相关资料,这方面的API在Android都是被hide的,通过反射等方式去调用比较麻烦。而我们这边因为有Android整套源码,因此这些隐藏的API我们也还是能够调用的。 下面就贴出主要源码。package com.xxx.ipinfo;import android.app.
2017-11-24 09:37:47 3593
原创 Android客制化------开机logo之ppm图片制作
$ pngtopnm linuxlogo.png > linuxlogo.pnm$ pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm$ pnmtoplainpnm linuxlogo224.pnm > logo_linux_clut224.ppm
2017-11-01 16:20:21 853
原创 Android客制化------Android开机动画制作文档
1、提取刷机包system/media里的bootanimation.zip。 2、将压缩文件解压后,在电脑上得到两个文件夹part0和part1,以及文件desc.txt。其中part0目录下存放的是按序播放一次的所有图片,part1目录下是动画播放完成后静止显示的图片,desc.txt是配置文件,我们不作修改,将part0和part1目录下的所有文件删除。 3、将自己希望在开机动画播放完成后
2017-11-01 16:18:11 474
原创 Android客制化------设置默认Launcher
要看客户是否需要保留系统默认的Launcher,如果需要保留的话,则需要在framework中去设置,如果不需要的,就挺好处理,在mk文件中添加这个属性LOCAL_OVERRIDES_PACKAGES := Launcher3(实际没有去尝试过这个属性,一般都是让系统不编译所有的Launcher,不同的平台可能不一样,对应去mk中删除,不让其编译即可) 下面提供下保留系统Launcher的情况下设
2017-11-01 16:12:24 2025
原创 Android客制化------过滤设置应用列表中某个应用
diff --git a/packages/apps/Settings/src/com/android/settings/applications/ManageApplications.java b/packages/apps/Settings/src/com/android/setindex 7c35b1a..dec6876 100644--- a/packages/apps/Settings
2017-11-01 15:56:53 1271
原创 Android客制化------禁止系统下载apk文件
话不多说,直接show codediff --git a/packages/providers/DownloadProvider/src/com/android/providers/downloads/DownloadProvider.java b/packages/providers/DownloadProvidindex e6b2b1a..6f240ae 100644--- a/packag
2017-11-01 15:53:37 916
原创 Android客制化------一段时间不操作Android系统则播放视频
公司广告机这一块有一个客户提出一个需求:开机播放视频,用户在操作后,10s内没有操作,则又播放视频。 首先要将客户的视频内置到内置sd卡,因为直接编译到system目录,是无法去播放的。这个还比较好弄,收到开机广播后,启动一个service,在service内开启一个AsyncTask线程执行拷贝,拷贝ok后则向数据库或sp或prop中存入一个值,则下次开机就不会拷贝了。 在这个位置,遇到了一些
2017-10-16 18:17:24 756
原创 Android客制化------7.0设置壁纸存在的一些问题
最近在开7.0的坑,遇到了一些小问题,记录一下。很大可能这个问题只是我这个芯片的代码上才存在的,不过殊途同归啦。 第一个问题就是,我们增加内置可选壁纸,选择这些壁纸后进行设置,会发现拉伸很明显。通过增加打印log发现 diff --git a/src/com/android/wallpaperpicker/WallpaperCropActivity.java b/src/com/android/w
2017-06-15 16:11:15 1434
原创 Android客制化------动态控制导航栏与状态栏
我们可能经常需要根据一些apk(没有源码,只有单纯的一个app)的打开与关闭去动态的显示状态栏与导航栏。甚至去控制状态栏的下拉事件。 需要去实现一点我们首先得了解Android中Activity的生命周期,下面请出谷爹的周期图。 onResume() 此状态下,activity处在前台,用户可以与它进行交互。 这里就是我们需要去动手脚的地方了,我们通过在Android源码中的Activit
2017-05-18 14:07:44 992
原创 Android笔记------Android编译环境的搭建
前言这个东西也是老生常谈了,在这里只是记录下自己搭建环境的一个过程。 本次搭建环境是Ubuntu 14.04,请提前备份资料,以免造成损失。 * 下载镜像 Ubuntu 14.04.5 Desktop (64-bit) * 制作引导u盘 请点这里 * 安装 最好在安装过程中拔掉网线 Ubuntu分区建议(实际大小请根据自身硬盘容量配置): 分区 文件系统格式 大小 /(
2017-04-19 10:29:56 353 1
原创 Android客制化------在设置中加入RAM flash计算
单纯来看这个其实比较简单的,我们只需要获取对应路径下的信息,同时对其计算与判断,让其显示到对应控件上即可,查看源码,依样画葫芦即可。diff --git a/res/xml/device_info_status.xml b/res/xml/device_info_status.xmlindex fc6016f..81683fd 100644--- a/res/xml/device_info_st
2017-04-18 10:27:11 785
原创 Android客制化------恢复出厂设置但保留文件
很久没有记录了,持之以恒做一件事,需要一定的毅力呐! 最近遇到了一个需求,要求恢复出厂设置保留内置sd卡下某个目录的文件。思来想去,从驱动那边备份校准信号文件得到了一些思路。因为带通话设置的装置需要进行校准,我们会将校准的文件保存在/data下。具体做法呢,在执行恢复出厂设置时,将此文件copy到tmp分区,然后在恢复完成时,再次copy回/data分区。因为我们是备份文件夹,所以我们需要对cop
2017-04-18 09:57:58 7105 5
原创 Android定制化------关机事件及增加功能
Android关机顺序step1:按住电源按钮半秒钟(500ms)。step2:之后此按键事件将会被PhoneWindowManager.java捕获,并且调用interceptKeyBeforeQueueing(KeyEvent event, int policyFlags)由于这个方法定义了很多的按键事件捕获,下面只贴出电源按键这个case的部分。/** {@inheritDoc} */
2017-03-09 11:39:07 1111
原创 Android客制化------根据hdmi状态来显示触摸圆点
乍一看这个,觉得很简单,检测hdmi的状态,然后发送对应广播,来显示就行了。确实,思路没有错误。但是因为芯片厂商或多或少的对Android层的代码进行了部分修改,所以导致一直未成功,即插入hdmi时,点会出现,但是一旦拔出了,点却还存在。从打印log来看,拔出的广播是收到了的。最终跟踪源码,才发现,拔出后,重复设置了状态。 Show touches这个toggle的状态应该与hdmi的状态一致。
2017-03-02 14:36:15 1157
原创 Android探索------触摸事件传递机制分析
Android触摸事件的构成在Android中,所有的触摸事件都可以总结成三类:按下(ACTION_DOWN)移动(ACTION_MOVE)抬起(ACTION_UP) 所有的事件都会始于按下(ACTION_DOWN),然后接下来可能是一段移动(ACTION_MOVE)然后抬起(ACTION_UP),或者是按下操作执行完成后没有移动就直接抬起。 在Android手机上,本质上与我们进行交互的
2017-03-02 12:00:15 351
原创 Android客制化------设置MTP存储模式
公司最近有个需求,其实之前可能也有很多人做过,我这里可能也是老生常谈啦。客户需要连接USB之后,默认的存储模式为MTP。这里很容易就想到监听USB插拔,没错确实是这么实现。 因此我们直接设置一个静态广播来监听USB的插拔。如下:diff --git a/packages/apps/Settings/AndroidManifest.xml b/packages/apps/Settings/Andro
2017-02-24 17:29:53 3013
转载 Android客制化------音量键的处理流程
前段时间,因为公司需求与音量键的处理流程相关,于是跟了相关源码,因此记录在博客,分享给大家。在音量键被按下后,Android输入系统将该事件一路派发给Activity,如果无人截获并处理这个事件,承载当前Activity的显示PhoneWindow类的onKeyDown()或onKeyUp()函数将会处理,从而开始通过音量键调整音量的处理流程。输入事件的派发机制及PhoneWindow类的作用将在
2017-02-24 17:16:39 1488
原创 Android客制化------屏蔽弹错提示的dialog
在客制化开发时,我们可能会遇到一些报错,譬如我曾遇到过库文件找不到的错误,这种类型的报错还是好解决的。但是有时候难免会遇到一些疑难杂症,如调用某个方法时会报空指针,然后某进程kill。当然这种报错并不会影响系统的使用的情况下我们可以用这种方法来解决。 报错时会弹出一个dialog提示停止,我们根据log是可以找出具体是哪个进程停止了的。 系统对弹错的提示dialog是在framework/bas
2016-10-15 09:20:22 1968
原创 Android客制化------6.0底部导航栏增加隐藏按钮
Android客制化——6.0底部导航栏增加隐藏按钮关于导航栏这一块按钮的增加其实网上也有很多的例子了,最多的可能就是一个关于音量加减的例子。 最近客户有要求做这么一个功能,即在底部导航栏再添加一个按钮,通过这个按钮来实现导航栏虚拟按键的隐藏与显示。但无论导航栏隐藏与否,这个按钮都不会消失,也就是会常驻导航栏。 我们知道关于通知栏、导航栏、下拉菜单实质上是一个SystemUI.apk。这部分的源
2016-10-12 15:43:42 2116
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人