定位上篇

              Android 5.1 - 7.1 系统(framework)定制、修改、移植、总结 - 上篇

1:Android系统将位置信息模式默认设置为高精确度

GPS位置信息模式默认为“仅限设备”, 应客户的需求,需要默认为“高精确度”

请把 /frameworks/base/packages/SettingsProvider/res/values/defaults.xml

gps

 修改成

gps,network

 

2:Android 5.1 关闭通知栏通能

修改点:\frameworks\base\core\java\android\app\NotificationManager.java

/**     * Post a notification to be shown in the status bar. If a notification with     * the same id has already been posted by your application and has not yet been canceled, it     * will be replaced by the updated information.     *     * @param id An identifier for this notification unique within your     *        application.     * @param notification A {@link Notification} object describing what to show the user. Must not     *        be null.     */    public void notify(int id, Notification notification)    {        boolean close=false;        if(close)        {              notify(null, id, notification);        }     }

 

3:Android frameworks去掉熄屏前先变暗的功能 

设置>显示:这里可以设置自动休眠超时时间。

当设置为30s时,到24s左右屏幕会先变暗,告知用户屏幕快熄灭了,6s以后才会真正熄屏。

现在需要去掉这个功能,在PowerManagerService里可以看到

private int getScreenDimDurationLocked(int screenOffTimeout) {        return Math.min(SCREEN_DIM_DURATION,                (int)(screenOffTimeout * MAXIMUM_SCREEN_DIM_RATIO));    }

30S是系统里最短的超时时间,也就是说其他screenOffTimeout乘以0.2是比6要大的,所以就不用考虑了。


要想去掉DIM这个Feature,直接把SCREEN_DIM_DURATION设为0,这样getScreenDimDurationLocked()的返回值也就是0,这样就不再有屏幕先变暗这个步骤了。

实测可行。

4.屏蔽掉下拉通知栏和状态栏 

修改点:frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\PhoneStatusBarView.java

 @Override    public void addPanel(PanelView pv) {        super.addPanel(pv);//        if (pv.getId() == R.id.notification_panel) {//            mNotificationPanel = pv;//        } else if (pv.getId() == R.id.settings_panel){//            mSettingsPanel = pv;//        }        pv.setRubberbandingEnabled(!mFullWidthNotifications);    }

 

5 .android 修改MTP在PC端显示的制造商信息 

1. 修改build/tools/buildinfo.sh中的 ro.product.manufacturer2.frameworks\av\media\mtp\MtpServer.cpp 的doGetDeviceInfo()property_get("ro.product.manufacturer", prop_value, "unknown manufacturer");string.set(prop_value);修改此处的prop_value

 

6:高通8909 驱动修改充电电流限制[kernel]

定位文件:kernel/arch/arm/boot/dts/qcom/msm-pm8909.dtsi

 pm8909_chg: qcom,charger {                            ....                        qcom,ibatsafe-ma = <1000>;  // 1000 1A                        qcom,thermal-mitigation = <1000 720 630 0>;  //1000A                        //qcom,ibatsafe-ma = <1440>;  // 1.5A                        //qcom,thermal-mitigation = <1440720 630 0>;  //1.5A                        qcom,cool-bat-decidegc = <100>;                        qcom,warm-bat-decidegc = <450>;                        qcom,cool-bat-mv = <4100>;                             ....

或者直接修改

      kernel/drivers/power/qpnp-linear-charger.c     

   

       return rc;}#define QPNP_LBC_IBATMAX_MIN    90#define QPNP_LBC_IBATMAX_MAX    1000  //最大充电电流限制/* * Set maximum current limit from charger * ibat =  System current + charging current */static int qpnp_lbc_ibatmax_set(struct qpnp_lbc_chip *chip, int chg_current){

 

6 .android 系统源码修改系统默认开机自动转屏

diff --git a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/frameworks/base/packages/SettingsProvider/res/values/defaults.xmlindex ff30452..c49b89e 100755--- a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml+++ b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml@@ -150,7 +150,7 @@     true      -    0+    -1           -1

 

7 .android 系统源码修改MEID  返回IMEI

diff --git a/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java b/frameworks/opt/telephony/src/index b791460..3e764c3 100644--- a/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java+++ b/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java@@ -503,7 +503,7 @@ public class CDMAPhone extends PhoneBase {      @Override     public String getMeid() {-        return mMeid;+        return  mImei;     }      //returns MEID or ESN in CDMA

 

6 .开机去掉没有插入SIM卡

diff --git a/vendor/qcom/proprietary/qrdplus/Extension/apps/PhoneFeatures/src/com/qualcomm/qti/phonefeature/SimDetector.java b/vendor/qcom/proprietary/qrdplus/Extension/apps/PhoneFeatures/src/com/qualcomm/qti/phonefeature/SimDetector.jindex bf8bdf8..f622291 100755--- a/vendor/qcom/proprietary/qrdplus/Extension/apps/PhoneFeatures/src/com/qualcomm/qti/phonefeature/SimDetector.java+++ b/vendor/qcom/proprietary/qrdplus/Extension/apps/PhoneFeatures/src/com/qualcomm/qti/phonefeature/SimDetector.java@@ -331,7 +331,11 @@ public class SimDetector extends Handler implements OnClickListener, OnDismissLi         mNoSIMDialog.getWindow().setType(                 WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG);         mNoSIMDialog.setOnDismissListener(this);-        mNoSIMDialog.show();+            +        // add by guojianyong  - remove  no simcar tip dialog+       if(false){+          mNoSIMDialog.show();+        }     }      public void onClick(DialogInterface dialog, int which) {

 

7 .单双卡设置

--- a/vendor/qcom/proprietary/qrdplus/Extension/config/default.prop+++ b/vendor/qcom/proprietary/qrdplus/Extension/config/default.prop@@ -11,8 +11,8 @@ persist.radio.restore_mode_pref=1 # hide internal OOS for 5s when modem is camping persist.radio.ignore_dom_time=5 -#set default multisim config to dsds-persist.radio.multisim.config=dsds+#set default multisim config to ssss+persist.radio.multisim.config=ssss  # enable face beautification persist.ts.postmakeup=true

 

8. 根据不同的通道adb 命令播放声音

mm-audio-ftm高通的工厂测试命令

mm-audio-ftm -tc 8 -c /system/etc/ftm_test_config  -v 80 -file /system/etc/mmi/qualsound.wav

这条命令可以直接配通道

查看通道配置信息 /system/etc/ftm_test_config 

mm-audio-ftm -tc 8 -c /system/etc/ftm_test_config  -v 80 -file /system/etc/mmi/qualsound.wav
-tc 8 表示使用ftm_test_config的配置8

9. 修改状态栏信号强度不正确

diff --git a/frameworks/base/telephony/java/android/telephony/SignalStrength.java b/frameworks/base/telephony/java/android/telephony/SignalStrength.javaold mode 100644new mode 100755index c20764a..ea7ed82--- a/frameworks/base/telephony/java/android/telephony/SignalStrength.java+++ b/frameworks/base/telephony/java/android/telephony/SignalStrength.java@@ -856,7 +856,10 @@ public class SignalStrength implements Parcelable {              * associated with LTE RSRP and the bars associated with the LTE              * RS_SNR              */-            return (rsrpIconLevel < snrIconLevel ? rsrpIconLevel : snrIconLevel);+                        +                        //xg change to fix the 4g signal strength not correct - 20190907+            //return (rsrpIconLevel < snrIconLevel ? rsrpIconLevel : snrIconLevel);+                       return (rsrpIconLevel > snrIconLevel ? rsrpIconLevel : snrIconLevel);         }          if (snrIconLevel != -1) return snrIconLevel;

 

更多相关文章

  1. 通过apk签名使应用程序有系统权限
  2. [android] 调试linux input子系统驱动的用户空间命令 getevent/s
  3. 编译libgdx
  4. 修改Android中AVD的目录
  5. 在ubuntu操作系统下配置android开发环境
  6. 在Android系统上修改系统默认的字体大小
  7. android学习笔记(十) android 使用 google Map
  8. 【邀您参加】Android大讲堂-Android游戏开发之捕鱼游戏
  9. Android(安卓)版本兼容 — Android(安卓)4.4 后根据系统 Uri 查

随机推荐

  1. 搭建免费云上 MongoDB 副本集群
  2. 在Centos7.5安装Python3.9
  3. 关于centos7阿里yum源报问题
  4. PHP 基于 SW-X 框架,搭建高性能API架构(三)
  5. 怎么画好眼睛?女生动漫眼睛的画法
  6. jQuery的checkbox全选、取消全选、反选、
  7. 【北亚数据恢复】服务器重装系统导致逻辑
  8. jQuery判断checkbox复选框是否已选中
  9. php去除数组中为0的元素的实例分析
  10. php去除deprecated的实例方法