android开发笔记之mtk平台 手机恢复出厂设置数据不删除的方法

来源:互联网 发布:ubuntu c语言 编辑:程序博客网 时间:2024/04/27 14:37

      手机开发时,有时候,需要一个数据,在手机恢复出厂设置时,不删除,保持原来的值,这个如何处理呢?

       如果你是在mtk平台下(mtk6572),这有一个解决方案:


(1)mediatek/config/hongyu72_wet_jb3/init.project.rc

on fs
# for multi-logo (emmc)
chown system system /dev/logo
chown system system /dev/block/mmcblk0
chown system system /sys/class/BOOT/BOOT/boot/logo_mode
chmod 0644 /dev/logo
chmod 0664 /dev/block/mmcblk0
chmod 7777 /sys/class/BOOT/BOOT/boot/logo_mode


on post-fs-data


(2)数据读写api:

import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;

static String SALE_SAT_FILE = "/sys/class/BOOT/BOOT/boot/logo_mode";


public boolean setSaleStatCompletedFlag() {        try {            BufferedReader in = new BufferedReader(new FileReader(SALE_SAT_FILE));            String line = null;            FileWriter fw = new FileWriter(SALE_SAT_FILE);            fw.write("yes", 0, "yes".length());            fw.flush();            // rewrite check            line = in.readLine();            if (line == null || (line != null && !line.equals("yes"))) {                fw.write("yes", 0, "yes".length());                fw.flush();            }            fw.close();            in.close();        } catch (Exception e) {e.printStackTrace();                }return true;}private static int getsalesat() {// TODO Auto-generated method stubtry {FileReader fr = new FileReader(SALE_SAT_FILE);BufferedReader br = new BufferedReader(fr);try {String line = br.readLine();if(line.equals("yes")){br.close();fr.close();return 1;}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();try {br.close();fr.close();} catch (IOException e1) {// TODO Auto-generated catch blocke1.printStackTrace();return 0;}return 0;}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();return 0;}return 0;}    public static boolean isSaleStatCompletedFlag() {if(getsalesat() == 1){Log.v("LIUJIANFANG", "isSaleStatCompletedFlag  yes");return true;}return false;}



(3)其实,这个方法主要是参考settings模块,


packages/apps/settings/src/com/android/settings/testingSettingsBroadcastReceiver.java

   void writeBootLogo(final Context context, String mode) {        try {            BufferedReader in = new BufferedReader(new FileReader(                    "sys/class/BOOT/BOOT/boot/logo_mode"));            String line = null;            FileWriter fw = new FileWriter("sys/class/BOOT/BOOT/boot/logo_mode");            fw.write(mode, 0, mode.length());            fw.flush();            // rewrite check            line = in.readLine();            if (line == null || (line != null && !line.equals(mode))) {                fw.write(mode, 0, mode.length());                fw.flush();            }            fw.close();            in.close();            (new Handler()).postDelayed(new Runnable() {                public void run() {                    PowerManager pm = (PowerManager) context                            .getSystemService("power");                    pm.reboot(null);                }            }, 1000);        } catch (Exception e) {            Log.e("FactoryMode", "e---------->>" + e.getMessage());        }    }



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 无锡身份证丢了怎么办 人在外地怎么办身份证 欠空放公司不还怎么办 兼职要身份证照片怎么办 身份证刷不了磁怎么办 身份证不能刷了怎么办 身份证指纹错了怎么办 指纹手机丢了怎么办 异地办理临时身份证怎么办 杭州办理外地身份证怎么办 办理身份证没有户口本怎么办 2018身份证掉了怎么办 双户口注销社保怎么办 常用户口被注销怎么办 刚到厦门怎么办身份证 新疆身份证丢了怎么办 技能证书丢了怎么办 16岁拍身份证怎么办 16岁以下怎么办身份证 办身份证要证明怎么办 15岁怎么办银行卡淘宝 满16岁怎么办银行卡 电脑最小化后不见了怎么办 满16周岁怎么办银行卡 给儿童办身份证怎么办 当兵前身份证号码不符怎么办 身份证后六位密码x怎么办 借了贷款人死了怎么办 贷款实在还不起怎么办 个人贷款还不起怎么办 珠海派出所办事不公平怎么办 改身份证后学籍怎么办? 威海身份证丢了怎么办 车牌轻微变形了怎么办 车牌照丢一个怎么办 小车车牌掉了怎么办 车牌撞变形了怎么办 车牌烂了一块怎么办 机动车牌照丢了怎么办 汽车想换车牌怎么办 机动车前牌照丢失怎么办