开机广播的接收
- 在Mainifest文件里静态注册
<receiver android:name=".BootCompleteReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
- 在广播接收类中重写onReceive方法,启动检测的后台服务
public class BootCompleteReceiver extends BroadcastReceiver{
String TAG="BoostCompleteReceiver";
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG,"boost receive ...");
Intent service = new Intent(context,DetectService.class);
context.startService(service);
}
}
- 工具类FileProcessBinder的实现,结合之前
防丢App记录(2)–将序列号通过文件存储
只是假如文件名封装起来,这里因为存文件要用到Context,所以就将Context当做参数传进去了,,,这样不好,,心怀咯噔往前走,,,
/*
* FileProcessBinder
* 文件保存工具类*/
public class FileProcessBinder {
private Context context;
private String fileName;
String TAG = "FileProcessBinder";
public FileProcessBinder(Context context) {
this.context = context;
}
public FileProcessBinder(String fileName, Context context) {
this.fileName = fileName;
this.context = context;
}
public String load(String fileName) {
FileInputStream in = null;
BufferedReader reader = null;
StringBuilder content = new StringBuilder();
try {
in = context.openFileInput(fileName);
reader = new BufferedReader(new InputStreamReader(in));
String line = null;
while ((line = reader.readLine()) != null) {
content.append(line);
Log.d(TAG, "load:" + content.toString());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return content.toString();
}
public void save(String te1,String fileName) {
BufferedWriter writer = null;
try {
FileOutputStream mFileOutputStream = null;
mFileOutputStream = context.openFileOutput(fileName, Context.MODE_PRIVATE);
writer = new BufferedWriter(new OutputStreamWriter(mFileOutputStream));
writer.write(te1);
Log.d(TAG, "save:" + te1);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}