android
文章平均质量分 64
u010083774
这个作者很懒,什么都没留下…
展开
-
备份和重置的备份账户
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 · 1037 阅读 · 0 评论 -
android 设置锁屏壁纸
客户功能需求:设置可以自定义的锁屏壁纸。分析:首先分析系统壁纸设置过程,参考 上一期文章,Android5.1 设置壁纸流程简析。可以按照设置壁纸的方式,模仿实现设置锁屏壁纸的功能。利用广播,实现设置锁屏壁纸功能。具体实现:①.packages/apps/Trebuchet/WallpaperPicker/res/layout/actionbar_set_wallpaper.xml原创 2015-11-22 17:10:14 · 7773 阅读 · 1 评论 -
俄语通话记录时间显示问题
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 · 654 阅读 · 0 评论 -
Android5.1--APK包的安装、卸载和优化(PackageManagerService)
Android的应用管理主要是通过PackageManagerService来完成的。PackageManagerService服务负责各种APK包的安装、卸载、优化和查询。PackageManagerService在启动时会扫描所有的APK文件和Jar包,然后把他们的信息读取出来,保存在内存中,这样系统在运行时就能迅速找到各种应用和组件的信息。扫描过程中如果遇到没有优化的文件,还要执行转转载 2016-01-22 17:33:40 · 8016 阅读 · 0 评论 -
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 · 4322 阅读 · 2 评论 -
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 · 3121 阅读 · 0 评论 -
Activity的启动流程 Android5.1.1
启动Activity有多种方式,简单记录下在Launcher下点击应用图表启动Activity的流程。以启动Setting为例,通过跟踪Launcher.java的onclick事件,发现最终通过ActivityManagerNative.getDefault()获取ActivityManager的代理对象,然后调用startActivity()方法调用到ActivityManagerServ原创 2016-03-03 14:36:13 · 2566 阅读 · 0 评论 -
Android 5.1 ActivityManagerService启动
ActivityManager主要功能有:①启动或杀死应用程序进程。②启动调度Activyty生命周期。③注册Broadcast Receiver,接收分发Broadcast。④启动发布Content Provocer。⑤task相关。⑥OOM。原创 2016-02-02 22:17:49 · 1215 阅读 · 0 评论 -
Notification屏蔽下拉菜单具体消息
正常情况下,系统发送一条通知会,在PhoneStatusBar状态栏上会有一个通知的图标,然后在下拉扩展界面会有对应的通知信息。客户反馈,在使用VoLTE业务的时候,下拉通知栏的VoLTE对应的通知没有具体内容,只有一个VoLTE的图标,这样显示起来很不美观,客户需求要去掉下拉栏的详细通知,保留状态栏上的图标。跟踪系统notification源码,并没有发现有关于屏蔽下拉状态栏的属性或标记原创 2016-02-22 17:38:20 · 2472 阅读 · 0 评论 -
默认通知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 · 799 阅读 · 0 评论 -
【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 · 2049 阅读 · 0 评论 -
预置APK文件到sdcard下
客户需求,要预置APK文件到data/media/0/System/APK文件下,也就是说客户要求预置资源文件到sdcard,系统第一次启动的时候,加载完谷歌向导之后,会启动客户的另外一个应用来选择是否安装预置到SD卡的应用文件,此应用可在文件浏览器中找到并且可安装卸载,恢复出厂设置之后,预置的文件APK文件保留。如果只是预置可卸载的文件,恢复出厂设置不可恢复,很简单,只需要在Android.原创 2016-02-23 13:51:34 · 3639 阅读 · 0 评论 -
Android5.1 设置壁纸流程简析
这里只是简单分析一下5.1里是如何设置壁纸的;这个流程和4.4有一些不同。但基本都是找个地方存放壁纸文件,需要的时候读取,设置的时候更新这里只看设置的过程。权当参考。 机器使用launcher3,在桌面上长按,底部显示设置壁纸的入口。进入设置壁纸界面,观察log可知,此界面属于Trebuchet。也是launcher3点击设置壁纸按钮,发现整个标题栏都有响应。在以下转载 2015-11-20 16:26:39 · 3494 阅读 · 0 评论 -
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 · 654 阅读 · 0 评论 -
Android中的dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()
Android中触摸事件传递过程中最重要的是dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()方法。这个是困扰初学者的问题之一,我开始也是。这里记录一下dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()的处理过程,以供记忆。 dispat转载 2015-11-13 16:46:44 · 373 阅读 · 0 评论 -
通话过程中设置seekbar的最小值
在通话过程中,按音量键会弹出一个SeekBar控制听筒音量,为了保证通话过程中听筒一直有声音,android默认设计按音量下键是不能调到最小的,但是手动拖动进度条却可以把拖动进度条到0,而听筒还会有声音,解决方案,就是去控制手动拖动进度条,在通话过程中,不能为0。定位到:framework\base\core\java\android\view\VolumePanel.java ,此类实现了O原创 2015-03-09 20:16:00 · 5034 阅读 · 2 评论 -
launcher3 修改默认桌面布局
手机第一次进入系统,Launcher的默认界面是读取的一个xml配置文件,完成桌面的布局,这个xml文件在Launcher3\res\xml\default_workspace.xml通过修个这个xml文件,可以实现自定义默认桌面其中 有 等标签。 <appwidget //小部件 launcher:packageName="com.go原创 2015-03-07 11:44:20 · 5653 阅读 · 0 评论 -
android阿拉伯语言的数字
在阿拉伯语言下,数字显示的是阿拉伯语的数字,而不是用数字0-9,比如时间显示,看起来就很不舒服,要修改为在阿拉伯语下数字显示的是0-9。找到对应的文件,external/icu4c/misc/numberingSystems.txt这个文件里面包含多种语言对应的数字显示,可以找到阿拉伯语言对应的arab和arabext arab{ algorithm原创 2015-03-12 21:37:16 · 2461 阅读 · 0 评论 -
阿拉伯语下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 · 605 阅读 · 0 评论 -
修改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 · 942 阅读 · 0 评论 -
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 · 3690 阅读 · 0 评论 -
修改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 · 705 阅读 · 0 评论 -
Activity的task相关
古人學問無遺力,少壯工夫老始成。紙上得來終覺淺,絕知此事要躬行。南宋.陸遊《冬夜讀書示子聿(yù)》软件行业也是一样,多少前辈不遗余力的奋斗才出现了软件行业的繁荣的景象,其中已有不少成为大师级人物。今天我们站在伟人的肩膀上,自然会有不少的优势,但不要忘了,要在对技术的认知方面有所提升,仍需我们去实践,去实践。今天我们来讲一下Activity的task相关内容。上次我们讲转载 2015-06-08 16:17:40 · 412 阅读 · 0 评论 -
关闭来电归属地
海外客户要求去掉来电归属地显示:在CallerInfo.java, updateGeoDescription() 中将geoDescription设为空字符串null;再在DefaultCallLogInsertionHelper.java 的 getGeocodedLocationFor()方法返回空字符串null。原创 2015-08-25 22:41:32 · 638 阅读 · 0 评论 -
Hotseat栏消失
在5.1系统上可能存在一个原生的bug,我在多款手机上包括高通平台与展讯平台都可以复现出来。复现方法:切换语言的同时,不停快速按返回键,知道返回到桌面,就会出现底部hotseat栏消失(电话、联系人、AllApp等按钮),但是可以点击。解决方案:定位到 :packages/apps/Trebuchet/src/com/android/launcher3/Launcher.jav原创 2015-11-11 14:22:45 · 629 阅读 · 0 评论 -
跨进程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 · 1453 阅读 · 0 评论 -
FM增加音量,到安全指数没有弹窗提醒
在展讯平台上,插入耳机,打开收音机,增大音量,到达耳机安全指数时继续增大音量,没有提示。定位代码:framework/base/media/java/android/media/AudioService.java private void onCheckMusicActive() { synchronized (mSafeMediaVolumeState) {原创 2015-03-31 22:33:28 · 841 阅读 · 0 评论