Android 12 设备中生成一个包含设备ID的*.ini格式文件

— a/alps/frameworks/base/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractSerialNumberPreferenceController.java
+++ b/alps/frameworks/base/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractSerialNumberPreferenceController.java
@@ -26,6 +26,18 @@ import androidx.preference.PreferenceScreen;

import com.android.settingslib.core.AbstractPreferenceController;

+import java.io.File;
+import java.io.IOException;
+import java.io.FileNotFoundException;
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
+import java.io.BufferedReader;
+import java.lang.StringBuilder;
+import java.io.IOException;
+import java.io.FileOutputStream;
+import android.os.Environment;
+import java.io.PrintWriter;
+import android.util.Log;
/**

  • Preference controller for displaying device serial number. Wraps {@link Build#getSerial()}.
    */
    @@ -35,14 +47,18 @@ public class AbstractSerialNumberPreferenceController extends AbstractPreference
    static final String KEY_SERIAL_NUMBER = “serial_number”;

    private final String mSerialNumber;

  • public AbstractSerialNumberPreferenceController(Context context) {
  •   private String mSnStr;
    
  • private String mStr;

  • public AbstractSerialNumberPreferenceController(Context context) {
    this(context, Build.getSerial());
    }

    @VisibleForTesting
    AbstractSerialNumberPreferenceController(Context context, String serialNumber) {
    super(context);

  •           File mFile = new File ("/storage/emulated/0/BWC4G.ini");
    
  •    mSnStr = getSnFromFile(context,mFile);
    
  •           Log.d("AbstractSerialNumberPreferenceController","mSnStr =" + mSnStr);
       mSerialNumber = serialNumber;
    

    }

@@ -64,4 +80,33 @@ public class AbstractSerialNumberPreferenceController extends AbstractPreference
public String getPreferenceKey() {
return KEY_SERIAL_NUMBER;
}
+

  •   public String getSnFromFile(Context context, File file) {
    
  •    try {
    
  •        FileInputStream fis = new FileInputStream(file);
    
  •        InputStreamReader isr = new InputStreamReader(fis);
    
  •        BufferedReader bufferedReader = new BufferedReader(isr);
    
  •        StringBuilder sb = new StringBuilder();
    
  •        String line;
    
  •                   int lineNumber = 0;
    
  •        while ((line = bufferedReader.readLine()) != null) {
    
  •                           lineNumber++;
    
  •                           if (lineNumber == 2) {
    
  •                                   int index = line.indexOf("=");
    
  •                mStr = line.substring(index + 1);
    
  •                                   Log.d("getSnFromFile","mStr =" + mStr);
    
  •                //System.out.println("Second line: " + line);
    
  •                break;
    
  •            }
    
  •            sb.append(line);
    
  •        }
    
  •        //return sb.toString();
    
  •                   return mStr;
    
  •    } catch (FileNotFoundException e) {
    
  •        e.printStackTrace();
    
  •    } catch (IOException e) {
    
  •        e.printStackTrace();
    
  •     }
    
  •    return null;
    
  • }
    }
    diff --git a/alps/vendor/mediatek/proprietary/packages/apps/FactoryMode/src/com/mediatek/factorymode/agingtest/BootCompletedReceiver.java b/alps/vendor/mediatek/proprietary/packages/apps/FactoryMode/src/com/mediatek/factorymode/agingtest/BootCompletedReceiver.java
    index 069f57d5c55…39a2e1a139f 100755
    — a/alps/vendor/mediatek/proprietary/packages/apps/FactoryMode/src/com/mediatek/factorymode/agingtest/BootCompletedReceiver.java
    +++ b/alps/vendor/mediatek/proprietary/packages/apps/FactoryMode/src/com/mediatek/factorymode/agingtest/BootCompletedReceiver.java
    @@ -54,6 +54,10 @@ import java.io.IOException;
    import java.io.FileOutputStream;
    //add end

+import java.io.File;^M
+import android.os.Build;^M
+import android.os.Environment;^M
+^M
public class BootCompletedReceiver extends BroadcastReceiver {

 //MMI_Write_WiFi_MAC

@@ -72,6 +76,13 @@ public class BootCompletedReceiver extends BroadcastReceiver {
private short[] mRandomMacAddr;
private SharedPreferences writeFlagPreferences;
private boolean writeFlag = false;

  •   ^M
    
  •   //add  start^M
    
  •   private String str1 = "[CamInfo]";^M
    
  •   private String str2 = "DevNo=";^M
    
  •   private String str3 = "UserNo=";^M
    
  •   private String str4 = "UserName=";^M
    
  •   //add  end^M
    

    //MMI_Write_WiFi_MAC

    @Override
    @@ -147,6 +158,11 @@ public class BootCompletedReceiver extends BroadcastReceiver {
    String macNvramStr = getMacAddrFromNvram();
    saveMacAddrToFile(context, “macAddr.txt”, macNvramStr);
    //20240417 add to write nvMac Address to file end

  •                   ^M
    
  •                   //add start^M
    
  •                   String mStr[] = {str1, str2 + Build.getSerial().toString(), str3, str4};^M
    
  •               saveSnStringsToFile(context, "BWC4G.ini", mStr);    ^M
    
  •                   //add end^M
       }
    

    }

@@ -324,4 +340,32 @@ public class BootCompletedReceiver extends BroadcastReceiver {
}
}
//20240417 add to write nvMac Address to file end

  •   ^M
    
  •   //20240516 add  for sn number start^M
    
  •   public void saveSnStringsToFile(Context context, String filename, String[] strings) {^M
    
  •           File file;^M
    
  •    FileOutputStream fos = null;^M
    
  •           //File fileDir = context.getExternalFilesDir(null);^M
    
  •           File fileDir = Environment.getExternalStorageDirectory();^M
    
  •    try {^M
    
  •                   file = new File(fileDir, filename);^M
    
  •                   fos = new FileOutputStream(file);^M
    
  •        //fos = context.openFileOutput(filename, Context.MODE_PRIVATE);^M
    
  •        for (String str : strings) {^M
    
  •            fos.write(str.getBytes());^M
    
  •            fos.write("\n".getBytes());^M
    
  •        }^M
    
  •    } catch (IOException e) {^M
    
  •        e.printStackTrace();^M
    
  •    } finally {        ^M
    
  •        try {^M
    
  •            if (fos != null) {^M
    
  •                fos.close();^M
    
  •            }^M
    
  •        } catch (IOException e) {^M
    
  •            e.printStackTrace();^M
    
  •        }^M
    
  •    }^M
    
  • }^M
  • //20240516 add for sn number end ^M
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值