android 双SD卡切换 SD SWAP 方案,如何恢复 设置- 存储- 默认存储器 的用户选择功

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               
修改涉及到的文件:
-       package/app/settings/。。。/deviceinfo/Memory.java:恢复“默认存储器”的选择功能
-       StorageManager.java的getDefaultPath()方法:取得“默认存储器”的实际路径
 
 
针对ICS2版本:
1.    修改package/app/settings/。。。/deviceinfo/Memory.java
 
修改点:下面的代码可能跟贵司现有的代码不一致,但思路是一样的,即: 把原来通过FeatureOption.MTK_SWAP_STATIC_MODE包着的“移除默认存储器选择功能”的代码段disable掉,如下:
 
 public void onCreate(Bundle icicle) {
. . . . . .
 if(FeatureOption.MTK_2SDCARD_SWAP) {
          
//把判断条件里的FeatureOption.MTK_SWAP_STATIC_MODE修改成false
               if(FeatureOption.MTK_SWAP_STATIC_MODE)   à  false
                  
            {
                     getPreferenceScreen().removePreference(mDefaultWriteCategory);
                 }
                       IntentFilter mFilter = new IntentFilter();
                 mFilter.addAction(ACTION_DYNAMIC_SD_SWAP);
                       getActivity().registerReceiver(mDynSwapReceiver, mFilter);
             }
}
 
. . . . . .
 
public void onResume() {
....
 
// 把判断条件里的FeatureOption.MTK_SWAP_STATIC_MODE修改成false
// if(!(FeatureOption.MTK_2SDCARD_SWAP && FeatureOption.MTK_SWAP_STATIC_MODE)) {     à false
            dynamicShowDefaultWriteCategory();
}
 
---------
 
    public boolean onPreferenceChange(Preference preference, Object newValue){
    //把判断条件里的FeatureOption.MTK_SWAP_STATIC_MODE修改成false if(FeatureOption.MTK_2SDCARD_SWAP && FeatureOption.MTK_SWAP_STATIC_MODE) {  à false
            return false;
        }
        if (preference != null && preference instanceof RadioButtonPreference) {
            if(mDeafultWritePathPref != null) {
                mDeafultWritePathPref.setChecked(false);
            }
                 mStorageManager.setDefaultPath(preference.getKey());
                 mDeafultWritePathPref = (RadioButtonPreference)preference;
            return true;
        }
        return false;
    }
   
    private final Runnable mUpdateRunnable = new Runnable() {
        public void run() {
//把判断条件里的FeatureOption.MTK_SWAP_STATIC_MODE修改成false
   if(!(FeatureOption.MTK_2SDCARD_SWAP && FeatureOption.MTK_SWAP_STATIC_MODE) ) {  à false
                 dynamicShowDefaultWriteCategory();
            }
        }
    };
. . . . . .
 
2.       StorageManager.java
把getDefaultPath()方法改成以下这样:
public static String getDefaultPath() {
       String path = DEFAULT_PATH;
        try {
            path = SystemProperties.get(PROP_SD_DEFAULT_PATH, DEFAULT_PATH);
           } catch (IllegalArgumentException e) {
                    Log.e(TAG, "IllegalArgumentException when get default path:"+e);
           }
          
    Log.i(TAG, "getDefaultPath path="+path);
        return path;
}:
. . . . . .
 
针对ICS版本:
1.       修改package/app/settings/。。。/deviceinfo/Memory.java
下面的代码可能跟贵司现有的代码不一致,但思路是一样的,即: 把原来通过FeatureOption. MTK_2SDCARD_SWAP包着的“移除默认存储器选择功能”的代码段enable,如下:
 
主要有以下修改点:
// 把判断条件里的!FeatureOption.MTK_2SDCARD_SWAP修改成true,让代码可以被执行到
if(!FeatureOption.MTK_2SDCARD_SWAP) {    à true
      dynamicShowDefaultWriteCategory();
}
. . . . . .
public boolean onPreferenceChange(Preference preference, Object newValue){
        //把判断条件里的FeatureOption.MTK_2SDCARD_SWAP修改成false,让代码不要被执行到
        if(FeatureOption.MTK_2SDCARD_SWAP) {     à false
     
                 return false;
        }
. . . . . .
 
//把判断条件里的FeatureOption.MTK_2SDCARD_SWAP修改成false,让代码不要被执行到
if(FeatureOption.MTK_2SDCARD_SWAP) {     à false
        getPreferenceScreen().removePreference(mDefaultWriteCategory);
}
. . . . . .
 
2.       StorageManager.java
把getDefaultPath()方法改成以下这样:
public static String getDefaultPath() {
        String path = DEFAULT_PATH;
       
        try {
            path = SystemProperties.get(PROP_SD_DEFAULT_PATH, DEFAULT_PATH);
                   } catch (IllegalArgumentException e) {
                            Log.e(TAG, "IllegalArgumentException when get default path:"+e);
                   }
                  
             Log.i(TAG, "getDefaultPath path="+path);
        return path;
}

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述

猜你喜欢

转载自blog.csdn.net/hffyfdt/article/details/84058295
今日推荐