android
文章平均质量分 71
曹纪乾
嵌入式开发,和一些应用的开发
展开
-
android 蓝牙设置界面高级选项功能解析
1、文件传输服务:是指蓝牙 File Transfer Profile (FTP),允许支持蓝牙FTP客户端的蓝牙设备进行连接,实现对服务端文件的访问和操作。 2、远程SIM卡模式:是指蓝牙SIM Access Profile(SAP),允许带有内置 GSM 收发器的车载电话之类的设备连接到蓝牙电话中的 SIM 卡,因此车载电话本身并不需要单独的 SIM 卡。 3、蓝牙网络热点:是原创 2012-11-07 09:33:49 · 4278 阅读 · 1 评论 -
android 短信字数超过N条后强制以彩信发送
1.在MmsCofig.java文件中添加 private static int mSmsToMmsTextThreshold = N; public static int getSmsToMmsTextThreshold() { return mSmsToMmsTextThreshold; } 并在loadMmsSettings(Context context)方法的el原创 2012-11-07 09:34:41 · 1831 阅读 · 0 评论 -
android 拨号盘号码匹配不能从任意位开始匹配的处理
修改alps/mediatek/source/externel/sqlite/custom/sqlite3_android_custom.cpp在register_dialer_search_local_functions()中添加 create_number_match_function(0,1);原创 2012-11-07 09:34:48 · 1145 阅读 · 0 评论 -
android wifi信号的强度的表示
status bar 上更新wifi 信号个数图标,请参考StatusBarPolicy.java中的updateWifi()部分代码。Rssi与信号等级的对应关系计算,请参考WifiManager.java中的calculateSignalLevel()函数。Android中,当RSSI =-55为满格信号 .如果需要修改,修改updateWifi()和calculateSignal原创 2012-11-07 09:34:54 · 2084 阅读 · 0 评论 -
android 状态栏背景修改为透明
Android 2.31. 请添加半透明的图片资源,例如:statusbar_background.9.png,到路径alps\frameworks\base\packages\SystemUI\res\drawable-hdpi 下。2. 请修改status_bar.xml,将其中的android:background="@drawable/status_bar_background原创 2012-11-07 09:35:24 · 6283 阅读 · 0 评论 -
android 如何判断call log匹配联系人采用的是7位还是11位匹配
1.:alps\external\sqlite\android\OldPhoneNumberUtils.cpp下的MIN_MATCH这个变量的值是多少,如果是11的话,就是11位匹配,如果是7则是7位匹配2. 如果没有源代码的话,再确认下FeatureOption.MTK_CTA_SUPPORT这个开关是否为true,内部代码如果这个开关为true会采用11位匹配,如果是false则采用7位匹原创 2012-11-07 09:34:35 · 1420 阅读 · 0 评论 -
android 在通话过程中,一直靠近距离传感器。通话结束时,要求马上点亮屏幕
修改alps\packages\apps\Phone\src\com\android\phone\PhoneApp.java的updateProximitySensorMode(Phone.State state)函数的最后几行的代码:将int fags =(screenOnImmediately 0 :owerManager.WAIT_FOR_PROXIMITY_NEGATIVE);改为原创 2012-11-07 09:34:38 · 1641 阅读 · 0 评论 -
android 如何将一个app 设置为常住app, 不被low memory kill 关闭
1. 将app 的manifest.xml 中的 application 中添加属性android:persistent="true"2. 对这个APP 使用platform 的签名3. 放置在system/app 下面注: 一个app 被设置为 persistent 后,将不会被low memory kill 杀掉,请在设置之前仔细确认是否必须,否则将浪费掉memory。原创 2012-11-07 09:34:59 · 1604 阅读 · 0 评论 -
android 在关机界面添加重启功能
1. 在alps\frameworks\base\core\res\res\values\strings.xml 中添加标签: sergeycaoadd start--> Reboot sergeycaoadd end--> 当然这只是英语语系的,贵司需要添加其它语系的标示,把"Reboot" 替换成其它语言。 2. 在alps\frameworks\ba原创 2012-11-07 09:35:01 · 1392 阅读 · 0 评论 -
android如何添加tp button
添加tp的virtual key,需在tp对应的头文件中添加如下设置: 1.定义宏TPD_HAVE_BUTTON; 2.定义TPD_BUTTON_HEIGHT,TPD_KEY_COUNT,TPD_KEYS和TPD_KEYS_DIM,分别用于定义button被识别的纵向坐标,button的个数,对应的功能键,和每个功能键的坐标。 配置示例: #define TPD_HAVE_BU原创 2012-11-08 09:28:19 · 1534 阅读 · 0 评论 -
android 如何定制Launcher主菜单中应用程序图标在主菜单中的显示顺序
编辑Launcher2/res/xml/default_toppackage.xml文件: launcher:topPackageName="com.yahoo.mobile.client.android.odp"launcher:topClassName="com.yahoo.mobile.client.android.odp.YahooODP"launcher:topOrd原创 2012-11-08 09:28:36 · 3026 阅读 · 0 评论 -
android 如何定制Google launcher的主菜单图标
在packages/apps/Launcher2下的文件ApplicationInfo.java中,修改public ApplicationInfo(ResolveInfo info, IconCache iconCache) {this.componentName = new ComponentName(info.activityInfo.applicationInfo.packag原创 2012-11-08 09:28:38 · 1858 阅读 · 2 评论 -
如何在Android系统上修改系统默认的字体大小
Android系统中在Settings->Display->Font Size下面可以设置系统字体大小,默认的系统字体大小为Normal,如果想修改这个默认值,可以在下面这个文件中进行修改:在alps/frameworks/base/core/java/android/content/res/Configuration.java文件中如下public void setToDefaults(原创 2012-11-08 09:28:41 · 3915 阅读 · 6 评论 -
如何在Android App中屏蔽(拦截)Home按键及其他按键
编写一个Acitivity,如下所示:关键点1:屏蔽HOME按键,在onAttachedToWindow中设置FLAG_HOMEKEY_DISPATCHED关键点2:屏蔽除Power , Home外的按键,覆盖dispatchKeyEvent方法,并返回为truepublic class LockByKeyGuard extends Activity {@Overridepub原创 2012-11-08 09:28:43 · 2538 阅读 · 0 评论 -
android Settings中About Phone的Model number等信息的修改
修改alps\build\tools\buildinfo.sh-修改echo "ro.build.display.id=$BUILD_DISPLAY_ID", 把 $BUILD_DISPLAY_ID 修改成其他的名称可改变 Build Nubmer. 注意此时要去除$.-修改echo "ro.product.model=$PRODUCT_MODEL", 把 $PRODUCT_MODE原创 2012-11-08 09:28:56 · 1690 阅读 · 0 评论 -
android 非运营商定制项目如何客制化自己的开关机动画、开关机铃声
一、开机动画:1) 制作bootanimation.zip。制作方法举例如下: 分别创建名为“part0”和“part1”的文件夹以及一个名为“desc.txt”文件。“part0”中存储动画的第一阶段的资源图片,“part1”存储第二阶段的资源图片,注意图片为png格式。 播放控制由“desc.txt”指定,内容如下: 320 480 30 p 1 0 part0原创 2012-11-08 09:28:58 · 1688 阅读 · 1 评论 -
android 如何判断开机完成并添加自己的函数处理
实现一个Receiver,接收Intent.ACTION_BOOT_COMPLETED 来判断是否开机完成。参考代码如下:public class TestBroadcastReceiver extends BroadcastReceiver {@Override public void onReceive(Context context, Intent intent) {Stri原创 2012-11-08 09:29:00 · 1035 阅读 · 0 评论 -
android恢复出厂设置的流程
在MasterClearConfirm.java中显示恢复出厂提示和对应button,点击button后调用button的click方法 1. 如果选中erase sd card, 则startService(ExternalStorageFormatter) 2. 如果没有则直接发送广播,sendbroadcast(android.intent.action.MASTER_CLEAR原创 2012-11-08 09:29:03 · 1651 阅读 · 1 评论 -
android 联系人从SIM卡导入的联系人号码是显示“其它”号码不是“手机或者电话”号码
SimContacts.java 中修改如下函数可以实现这个需求: private static void actuallyImportOneSimContact( final Cursor cursor, final ContentResolver resolver, Account account) { final NamePhoneTypePair namePhoneTyp原创 2012-11-07 09:34:06 · 1586 阅读 · 0 评论 -
android 如何进行IP拨号
IP 拨号其实跟普通拨号并没有太大的区别,唯一的区别是加上了IP前缀,Ip前缀保存在系统属性中。属性名称:ipprefix譬如simID为1的IP前缀属性保存在ipprefix1中。IpPrefix获得的 demo code为:String ipPrefix = “ipprefix”+Long.toString(simId);String ipString = Settings原创 2012-11-07 09:34:51 · 1260 阅读 · 0 评论 -
android 如何让自己开发的Application,能适应主题管理(ThemeManager)中的各种主题风格?
1、编辑alps/frameworks/base/data/etc/thememap.xml文件 按照已有的app的样式添加您自己的app所想要替换的resource的名称,可以参考Launcher2。 2、为自己的app在alps/mediatek/source/frameworks/themes/theme-res-xxx(theme name)目录下添加具体风格所对应的资源,按照已有的a原创 2012-11-07 09:35:19 · 1488 阅读 · 0 评论 -
android 滑动锁屏状态下如何禁止下拉状态栏?
滑动锁屏状态下状态栏可以下拉是google 4.0 默认的设计。如果要禁止此功能,请修改KeyguardViewMediator.java的adjustStatusBarLocked()方法,将 if (isSecure() || !ENABLE_INSECURE_STATUS_BAR_EXPAND) {// showing secure lockscreen; disable expan原创 2012-11-07 09:35:27 · 4884 阅读 · 2 评论 -
android 开机后第一次显示锁屏界面时点击紧急呼叫,下拉状态栏,不停的闪屏
请修改alps/frameworks/base/services/java/com/android/server/StatusBarManagerService.java的disable(int what, IBindertoken, String pkg)方法:将 if (net != mDisabled) { mDisab原创 2012-11-07 09:35:29 · 1683 阅读 · 0 评论 -
android 如何获取IMSI号
IMSI(International Mobile SubscriberIdentification Number)国际移动用户识别码,是区别移动用户的标志,储存在SIM卡中。SimRecords.java中有API: getIMSIsergeycao code如下:import com.android.internal.telephony.Phone;import com.and原创 2012-11-07 09:34:02 · 2080 阅读 · 0 评论 -
android 如何判断去电或来电已经接通
1、在CallNotifier.java (packages\apps\Phone\src\com\android\phone)中定义一个成员变量private Call.State mLastCallState = Call.State.IDLE;2、在函数onPhoneStateChanged的开始添加代码Call.State ringCallState = mCM.getFirstA原创 2012-11-07 09:34:14 · 5514 阅读 · 2 评论 -
android 收到新短信时,点亮屏幕
1.在NotificationTransaction.java里增加新的变量如下: private static final int WAKE_LOCK_TIMEOUT = 5000; private static PowerManager.WakeLock mWakeLock; 2.修改NotificationTransaction.updateNewMessageIndicator原创 2012-11-07 09:34:46 · 4042 阅读 · 0 评论 -
android 安全模式意义? 如何启动安全模式? 如何屏蔽安全模式?
1.Google 设计来确认在不启动第三方app/service 的情况下,确认机器的稳定性的一个开机方式,通常普通用户很少用到。在framework 内部会影响到AMS&WMS&PMS 的行为。 2.安全模式是在开机system server 的windowmanagerserivce 启动时检测的,一般是power + memu 键 ,并且在开机的过程中还要长按,或者滑轮之类。 3.如原创 2012-11-07 09:34:56 · 4009 阅读 · 1 评论 -
android 音乐、铃声播放控制相关问题
关于关闭背景音乐的feature,可以在对应的APP中添加如下代码: AudioManager manager=(AudioManager)getSystemService(AUDIO_SERVICE); // acquire the audio system service manager.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0原创 2012-11-07 09:35:16 · 974 阅读 · 0 评论 -
android 锁屏方式设置图案或密码,如何将双层锁改为单层锁
修改LockPatternKeyguardView.java的private Mode getInitialMode()方法:将if(isSecure()&&usingPINLock)修改为if(isSecure())原创 2012-11-07 09:35:21 · 2176 阅读 · 0 评论 -
android 恢复出厂设置之后如何将时间变为初始值
Recovery.c (bootable\recovery):#include #include void set_rtc(void) { struct tm tm; int fd; tm.tm_sec = 0; tm.tm_min = 0; tm.tm_hour = 0; tm.tm_mday = 1; tm.tm_mon = 0;原创 2012-11-08 09:28:22 · 1352 阅读 · 0 评论 -
android 虚拟按键是通过哪种机制上报的?
1.在normal mode下,tp button也是和其它触摸事件一样,以坐标形式的input_event进行上报。在初始化时会通过tpd_button_setting()函数根据定义在tpd_custom_XXX.h文件中的配置信息将虚拟按键的坐标信息写在/sys/board_properties/virtualkeys.mtk-tpd中。工作时,tp driver将按下的点的坐标进行上报,A原创 2012-11-09 09:50:43 · 2833 阅读 · 0 评论 -
android 如何在状态栏上增加一个icon
1. 首先需要在alps/frameworks/base/res/res/values/config.xml中定义需要显示的icon的配置信息。以添加headset(耳机图标)为例2.其次在alps/frameworks/packages/SystemUI/src/com/android/systemui/statusbar/PhoneStatusBarPolicy.java 中进行初始化原创 2012-11-09 09:51:25 · 2071 阅读 · 0 评论 -
android 如何修改让Pin码的输入内容不回显
请在SecuritySettings.java 中修改onResume()方法,如下:。。。mShowPassword.setChecked(Settings.System.getInt(getContentResolver(), ??Settings.System.TEXT_SHOW_PASSWORD, 0) != 0);将Settings.System.getInt(getCo原创 2012-11-09 09:51:31 · 1704 阅读 · 0 评论 -
android 当系统存在多个Launcher时,如何设置开机自动进入默认的Launcher?
下面以设置Google Launcher2作为默认启动的Launcher为例,其包名为com.android.launcher2编辑packages/apps/Provision/src/com/android/DefaultActivity.java文件......// remove this activity from the package manager.原创 2012-11-09 09:51:33 · 4330 阅读 · 3 评论 -
android 如何使得电阻屏在第一次开机时自动叫起屏幕校准程序
Android系统中有一个Provision程序,只会在第一次开机时运行一次,它会将Settings.Secure.DEVICE_PROVISIONED的值设置为1,随后就把自己disable掉 ,那么我们可以在此App被disable掉之前,做一些动作,可以达到第一次开机运行程序的效果,例如开机第一次自动启动屏幕校准程序,改动如下:alps/packages/apps/Provision/s原创 2012-11-09 09:52:01 · 1308 阅读 · 0 评论 -
人民日报整版盘点房地产广告
人民日报整版广告 解读雷人"楼盘宣传语" 地段篇 地段偏僻--告别闹市喧嚣,独享静谧人生 周边嘈杂--坐拥城市繁华,感受摩登时代 荒山秃岭--与大自然亲密接触 刚有规划--轨道交通在即 零星班车--无缝接驳CBD 挨着铁道--便利交通,四通八达 地势很低--私家领地,冬暖夏凉 价格奇高--奢华生活,贵族转载 2012-11-09 09:52:20 · 999 阅读 · 0 评论 -
android 如何在activity中控制屏幕点亮与关闭
Android中通过各种Lock锁对电源进行控制需要注意:加锁和解锁必须成对出现。//启用屏幕常亮功能private PowerManager.WakeLock mWakeLock;private PowerManager mPM;PowerManager pm =(PowerManager) getSystemService(POWER_SERVICE); mWakeLock原创 2012-11-09 09:52:33 · 1507 阅读 · 0 评论 -
android 如何调整状态栏icon的间距
需要在PhoneStatusbar.java(StatusBarSerivce.java)修改addIcon这个api,通过调用LinearLayout.LayoutParams::setMargin方法设置icon的间距,设置好的icon间距之后会通过调用addView方法作用于status icons:原创 2012-11-09 09:51:08 · 3169 阅读 · 0 评论 -
android 判断当前是否是飞行模式和侦听airplane mode change
在AirplaneModeEnabler中 提供了isAirplaneModeOn方法来判断当前是否是Airplane mode:public static boolean isAirplaneModeOn(Context context) {return Settings.System.getInt(context.getContentResolver(),Settings.Syst原创 2012-11-09 09:51:59 · 1224 阅读 · 0 评论 -
android 如何添加一种锁屏方式
a) 定义lockscreen 的在type是在这里:路径:alps/mediatek/config/project/ ProjectConfig.mk 修改:MTK_LOCKSCREEN_TYPE = 1b) 在下面的函数增加一个case;LockPatternKeyguardView.java View createLockScreen() {……case LO原创 2012-11-09 09:51:16 · 1146 阅读 · 0 评论