自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

原创 Activity的启动流程 Android5.1.1

启动Activity有多种方式,简单记录下在Launcher下点击应用图表启动Activity的流程。以启动Setting为例,通过跟踪Launcher.java的onclick事件,发现最终通过ActivityManagerNative.getDefault()获取ActivityManager的代理对象,然后调用startActivity()方法调用到ActivityManagerServ

2016-03-03 14:36:13 2549

原创 预置APK文件到sdcard下

客户需求,要预置APK文件到data/media/0/System/APK文件下,也就是说客户要求预置资源文件到sdcard,系统第一次启动的时候,加载完谷歌向导之后,会启动客户的另外一个应用来选择是否安装预置到SD卡的应用文件,此应用可在文件浏览器中找到并且可安装卸载,恢复出厂设置之后,预置的文件APK文件保留。如果只是预置可卸载的文件,恢复出厂设置不可恢复,很简单,只需要在Android.

2016-02-23 13:51:34 3615

原创 【GTS5.1】com.google.android.xts.afw.AfwRequiredAppsOverlaysTest 1项fail

com.google.android.xts.afw.AfwRequiredAppsOverlaysTest -- testDialerRequiredManagedDeviceOverlay fail junit.framework.AssertionFailedError: ManagedProvisioning overlay doesn't contain a dialer app a

2016-02-23 10:29:27 2041

原创 默认通知QuickSettings的默认行数列数

1. 默认通知QuickSettings的默认行数列数frameworks/base/packages/SystemUI/res/values/config.xml 3 42. 把屏幕亮度调到最暗,然后挡住手机感光区,重新调节屏幕亮度,屏幕会完全变黑。frameworks/base/core/res/res/values/config

2016-02-23 10:07:09 780

原创 Notification屏蔽下拉菜单具体消息

正常情况下,系统发送一条通知会,在PhoneStatusBar状态栏上会有一个通知的图标,然后在下拉扩展界面会有对应的通知信息。客户反馈,在使用VoLTE业务的时候,下拉通知栏的VoLTE对应的通知没有具体内容,只有一个VoLTE的图标,这样显示起来很不美观,客户需求要去掉下拉栏的详细通知,保留状态栏上的图标。跟踪系统notification源码,并没有发现有关于屏蔽下拉状态栏的属性或标记

2016-02-22 17:38:20 2462

原创 Android 5.1 ActivityManagerService启动

ActivityManager主要功能有:①启动或杀死应用程序进程。②启动调度Activyty生命周期。③注册Broadcast Receiver,接收分发Broadcast。④启动发布Content Provocer。⑤task相关。⑥OOM。

2016-02-02 22:17:49 1172

转载 Android5.1--APK包的安装、卸载和优化(PackageManagerService)(二)

在Android中,通过发送Intent,就可以启动应用的安装过程,如下所示:[java] view plaincopyUri uri = Uri.fromFile(new File(fileName));  Intent intent = new Intent(Intent.ACTION_VIEW);  intent.setData

2016-01-26 16:05:32 3055

原创 Google Now Launcher 定制

Google Now Launcher作为默认Launcher,也是可以定制桌面图标与小部件的。1..  自己写一个apk来相应com.android.launcher3.action.PARTNER_CUSTOMIZATION,这条IntentAndroidMainfest.xml如下:<manifest xmlns:android="http://schemas.andr

2016-01-23 16:27:49 4186 2

转载 Android5.1--APK包的安装、卸载和优化(PackageManagerService)

Android的应用管理主要是通过PackageManagerService来完成的。PackageManagerService服务负责各种APK包的安装、卸载、优化和查询。PackageManagerService在启动时会扫描所有的APK文件和Jar包,然后把他们的信息读取出来,保存在内存中,这样系统在运行时就能迅速找到各种应用和组件的信息。扫描过程中如果遇到没有优化的文件,还要执行转

2016-01-22 17:33:40 7779

原创 俄语通话记录时间显示问题

public static CharSequence getRelativeTimeSpanString(long time, long now, long minResolution, int flags) { Resources r = Resources.getSystem(); boolean abbrevRelative = (fl

2015-11-24 11:51:23 642

原创 android 设置锁屏壁纸

客户功能需求:设置可以自定义的锁屏壁纸。分析:首先分析系统壁纸设置过程,参考 上一期文章,Android5.1 设置壁纸流程简析。可以按照设置壁纸的方式,模仿实现设置锁屏壁纸的功能。利用广播,实现设置锁屏壁纸功能。具体实现:①.packages/apps/Trebuchet/WallpaperPicker/res/layout/actionbar_set_wallpaper.xml

2015-11-22 17:10:14 7733 1

转载 Android5.1 设置壁纸流程简析

这里只是简单分析一下5.1里是如何设置壁纸的;这个流程和4.4有一些不同。但基本都是找个地方存放壁纸文件,需要的时候读取,设置的时候更新这里只看设置的过程。权当参考。 机器使用launcher3,在桌面上长按,底部显示设置壁纸的入口。进入设置壁纸界面,观察log可知,此界面属于Trebuchet。也是launcher3点击设置壁纸按钮,发现整个标题栏都有响应。在以下

2015-11-20 16:26:39 3461

原创 Hotseat栏增加滑动功能

客户需求:在滑动hotseta栏实现调节屏幕亮度功能。定位到文件:package/apps/trebuchet/src/com/android/launcher3/Hotseat.java增加全局变量:private GestureDetector gestureDetector;private static final int RIGHT = 0; private st

2015-11-16 11:39:39 638

转载 Android中的dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()

Android中触摸事件传递过程中最重要的是dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()方法。这个是困扰初学者的问题之一,我开始也是。这里记录一下dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()的处理过程,以供记忆。    dispat

2015-11-13 16:46:44 365

原创 Hotseat栏消失

在5.1系统上可能存在一个原生的bug,我在多款手机上包括高通平台与展讯平台都可以复现出来。复现方法:切换语言的同时,不停快速按返回键,知道返回到桌面,就会出现底部hotseat栏消失(电话、联系人、AllApp等按钮),但是可以点击。解决方案:定位到 :packages/apps/Trebuchet/src/com/android/launcher3/Launcher.jav

2015-11-11 14:22:45 621

原创 跨进程SharedPreferences,createPackageContext生成的context实例缓存清除问题

我的主apk为A,调用的apk为B,在A中通过createPackageContext(B.packagename, INCLUDE_CODE)获得B的context实例,之后我通过B对文件数据修改,退出B,A中再通过context  otherAppsContext = createPackageContext(B.packagename, CONTEXT_IGNORE_SECURI

2015-10-12 17:28:39 1448

原创 关闭来电归属地

海外客户要求去掉来电归属地显示:在CallerInfo.java, updateGeoDescription() 中将geoDescription设为空字符串null;再在DefaultCallLogInsertionHelper.java 的 getGeocodedLocationFor()方法返回空字符串null。

2015-08-25 22:41:32 617

原创 来京两周年

不知不觉,来北京两年了,两年中,有欢乐,有失落,更多的是成长。记得刚来北京的时候,一下火车,完全乱了手脚,本来打算找个旅馆暂住几天,但是完全没有勇气,后来拿着哥哥给的线路图,找到了我的姑姑家,这一住就是3个月。来京第二天,就开始在网上投简历,只能说应届毕业生找工作真的不是特别好找,网上投的简历大多都石沉大海,经过不懈的努力,终于在第14天找到了我人生中第一份正式的工作,心想终于有地

2015-08-09 23:29:13 367

转载 Activity的task相关

古人學問無遺力,少壯工夫老始成。紙上得來終覺淺,絕知此事要躬行。南宋.陸遊《冬夜讀書示子聿(yù)》软件行业也是一样,多少前辈不遗余力的奋斗才出现了软件行业的繁荣的景象,其中已有不少成为大师级人物。今天我们站在伟人的肩膀上,自然会有不少的优势,但不要忘了,要在对技术的认知方面有所提升,仍需我们去实践,去实践。今天我们来讲一下Activity的task相关内容。上次我们讲

2015-06-08 16:17:40 404

原创 android 修改蓝牙默认名称

按网上的方法,不知是版本问题,还是什么,就没有找着  Android_bluetooth_common.h 这个文件,自己来改。定位文件:/external/bluetooth/bluedroid/btif/src/btif_dm.cbt_status_t btif_dm_get_adapter_property(bt_property_t *prop){ bt_status

2015-04-11 15:26:08 3677

原创 修改PTP在PC"我的电脑"中显示的label名称

修改/framework/av/media/mtp/MtpServer.cppMtpResponseCode MtpServer::doGetDeviceInfo() {        property_get("ro.product.model", prop_value, "MTP Device");string.set(prop_value);

2015-04-11 14:39:12 697

转载 修改MTP在PC"我的电脑"中显示的label名称

MTP功能在PC端盘符名称显示如何修改?  以下两种方式采用其中一种即可:a)         修改/Alps/frameworks/base/media/java/android/mtp/MtpDatabase.javaprivate int getDeviceProperty(int property, long[] outIntValue, char[] outS

2015-04-11 14:37:08 935

原创 FM增加音量,到安全指数没有弹窗提醒

在展讯平台上,插入耳机,打开收音机,增大音量,到达耳机安全指数时继续增大音量,没有提示。定位代码:framework/base/media/java/android/media/AudioService.java private void onCheckMusicActive() { synchronized (mSafeMediaVolumeState) {

2015-03-31 22:33:28 829

原创 阿拉伯语下wifi突变显示不全

在阿拉伯语下,连上wifi,顶部的wifi图标显示不全,只能显示一半。解决方案:定位到:frameworks/base/packages/SystemUI/res/layout/msim_signal_cluster_view.xml <FrameLayout android:id="@+id/wifi_combo" android:layout_he

2015-03-18 18:48:10 595

原创 备份和重置的备份账户

Setting --> Backup & reset 中,发现 Backup account 选项是不可点击的,无论勾选不勾选上边的 Back up my Data这个选项。修改方法:跟踪代码可以找到 : frameworks/base/packages/SettingsProvider/res/values/defaults.xmlandroid/com.android.in

2015-03-16 15:56:46 1024

原创 android阿拉伯语言的数字

在阿拉伯语言下,数字显示的是阿拉伯语的数字,而不是用数字0-9,比如时间显示,看起来就很不舒服,要修改为在阿拉伯语下数字显示的是0-9。找到对应的文件,external/icu4c/misc/numberingSystems.txt这个文件里面包含多种语言对应的数字显示,可以找到阿拉伯语言对应的arab和arabext  arab{ algorithm

2015-03-12 21:37:16 2414

原创 通话过程中设置seekbar的最小值

在通话过程中,按音量键会弹出一个SeekBar控制听筒音量,为了保证通话过程中听筒一直有声音,android默认设计按音量下键是不能调到最小的,但是手动拖动进度条却可以把拖动进度条到0,而听筒还会有声音,解决方案,就是去控制手动拖动进度条,在通话过程中,不能为0。定位到:framework\base\core\java\android\view\VolumePanel.java ,此类实现了O

2015-03-09 20:16:00 4999 2

原创 launcher3 修改默认桌面布局

手机第一次进入系统,Launcher的默认界面是读取的一个xml配置文件,完成桌面的布局,这个xml文件在Launcher3\res\xml\default_workspace.xml通过修个这个xml文件,可以实现自定义默认桌面其中 有   等标签。     <appwidget //小部件        launcher:packageName="com.go

2015-03-07 11:44:20 5609

原创 C/C++语言函数

memset是计算机中C/C++语言函数。将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针。实例:void *memset(void *s, int ch, size_t n);函数解释:将s中前n个字节 (typedef unsigned

2015-03-07 09:52:13 404

转载 android 特殊符号开头的联系人归并至“#”下

在PeopleActivity界面,联系人的显示位置是由其display name的第一个字符决定的。数字开头的联系人会显示在“#”这个header下。中英文联系人会显示在“A” 到“Z”下。以符号开头的联系人则没有对应的header,显示在最顶部,如何修改已让它们显示在‘#’号下?下面的方法可以将其显示在“#”下面(适用于一般ASCII编码内的符号) JB版本:C

2015-01-07 11:22:14 351

java雷电毕设全+论文

利用Java的多线程,Swing,MediaTracker等技术实现。 雷电java代码 PPT 论文

2013-04-02

空空如也

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

TA关注的人

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