问题描述:
实现备份一个文件(包括诸如配置信息等内容)到Android设备的某个目录中,当Android设备恢复出厂设置后,可以从该目录中读取备份的文件,从而恢复Android设备之前的配置信息。这里说明一下,实现这个过程需要Android设备之前root过。
方案解决:
首先,Android设备中system目录的文件在恢复出厂设置的情况下是不会被删除的,但是system默认是只读的,所以如果要实现上面的目的,程序需要获取root权限,将system目录修改成可读写的。大体解决思路如下:在某个目录中创建txt文件,创建完成后,移动该目录中的文件到system某个目录中,并删除原目录中的txt文件,以后读取恢复的时候从system相应目录中读取。这里在/cache/目录中创建,移动到/system/usr/目录,创建的文件名为net.txt,代码如下:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.RandomAccessFile;
public class MainActivity extends AppCompatActivity {
Button button1;
TextView tv;
Button button2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView)findViewById(R.id.tv);
button2=(Button)findViewById(R.id.btn2);
button1=(Button)findViewById(R.id.btn1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
tv.setText("");
writeTxtFile();
}
});
button2.setOnClickListener(new View.OnCl