- 博客(11)
- 收藏
- 关注
原创 自己最近做的一个关于自动进入飞行模式的经验分享
为了防止电话骚扰和辐射,许多人都喜欢在睡觉之前,打开手机的飞行模式,第二天早上睡醒来,再手动关闭飞行模式。这样做,总有点不方便,并且,早上容易忘记关闭飞行模式而遗漏电话。 正好最近闲来无事,决定自己动手写个小工具来解决这个问题。 我的实现思路是这样的,参见图1 UI主要是提供用户输入开启/结束飞行模式的时间,启用/停止飞行模
2012-09-05 13:06:08 912
原创 APK升级后,原来正在运行的service如何在新APK安装后自动运行
关于Android已经在market中发布的APK需要升级时,单用户选择下载并安装后,该APK中原先正在运行的service,怎么样才能自动启动起来呢?有同学说可以在静态的receiver中侦听android.intent.action.PACKAGE_REPLACED,但是试过了,该APK是不能收到自己这个package的replace action的
2012-08-31 13:12:32 2034
原创 通过MTP向Android 4.0.3 原生态手机中拷入一个mp3文件后,该文件在PC文件管理器中不能显示和删除
现象描述:当用户使用USB线把手机和电脑连接后,通过MTP向手机拷入mp3文件后,该mp3在PC的文件管理器中不能显示和删除,但是在手机的文件管理器中可以正常显示和播放。原因分析:分析后发现该mp3文件的artist信息字段是一个超过255字节长度的字符串,而Android framework在解析该字段长度的时候未加任何长度限制,导致该信息发送到PC上后,PC的文件管理器不能解析解决办法
2012-08-30 17:12:24 1543
原创 Android打电话的流程
拨号界面是实现在com.android.contacts进程中的,那么在按下“拨号”按键后,如何进入InCallScreen的呢?1. 首先在DialpadFragment.java的onClick函数里会处理R.id.dialButton pressed事件,调用dialButtonPressed来处理2. 在dialButtonPressed函数里会创建一个带有Intent.ACTIO
2012-08-29 13:32:56 692
原创 Android phone在拨号盘输入*#06#的处理流程
1. 当用户在拨号盘输入*#06#后,会进入SpecialCharSequenceMgr.java的handleChars函数2. handleChars会调用handleIMEIDisplay函数处理*#06#3. 如果是GSM phone,会掉用showIMEIPanel函数,如果是CDMA phone,会调用showMEIDPanel函数4. 尽管showIMEIPanel和sh
2012-08-29 10:07:12 2940
原创 申请Google Player帐号上传自己开发的App
1. 访问https://play.google.com/apps/publish/signup2. 输入个人信息3. 在选择国家/地区时,由于列表中没有中国,所以我们只能选择香港注册Google Player开发帐号是需要支付25美元费用的4. Google审核通过后,就可以使用该帐号发布自己开发的App了
2012-08-26 09:49:05 2278
原创 SettingsProvider的藏身之处
我们在调用android.provider.Settings修改一些设置时,Settings会调用真正的SettingsProvider去访问数据库。但是查了一下在packages/providers下并没有SettingsProvider的代码,奇怪了,但经过仔细检查,发现Google把SettingsProvider的代码放在了frameworks/base/packages下面。
2012-08-24 09:43:56 777
原创 关于Android打开/关闭飞行模式的一些思考
我们都知道,目前在Android上编码实现打开或关闭飞行模式,都是直接调用android.provider.Setting.System.putString()接口实现的,代码如下:......// Enable airplane modeSettings.System.putString(cr,Settings.System.AIRPLANE_MODE_ON, "1");Inte
2012-08-24 09:10:30 1256
原创 Android拨号界面输入*#*#<code>#*#*转入自定义Activity流程
在Android手机的拨号界面输入*#*##*#*时,或者*#06#等,会进入SpecialCharSequenceMgr.java的handleSecretCode函数;该函数会发送一个带有Intents.SECRET_CODE_ACTION的Broadcast;所以只要在你自己的App里定义一个Receiver,接收SECRET_CODE_ACTION,就可以弹出自己的Acti
2012-08-21 17:23:35 2512
原创 截至到目前,所有开源的Android源代码Branch
从这些branch,可以看出Android3.0(Honeycomb)并不在开源之列。这款号称第一款为Tablet设计的Android系统居然在开源一段时间后,突然被宣布停止开源,不知道这背后的原因又是什么。 以下是所有开源的Branch名称:android-4.1.1_r1android-4.1.1_r1.1android-4.1.1_r2android-4.1.1_r3
2012-08-19 17:54:22 507
原创 如何在Windows上下载Android源代码
如果想在Windows上利用git,repo工具下载Android源代码,则首先需要安装Cygwin,因为repo脚本目前只能在下linux下运行。1. 下载并安装Cygwin,可以从http://www.cygwin.com/下载Cygwin的安装程序setup.exe,安装Cygwin时需要注意,必须选择安装curl,git和Python;2. 安装完成后运行Cygwin,这时可以在自
2012-08-19 17:13:34 650
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人