Чтение logcat непрерывно и запись во внутреннее хранилище для этого. Я попробовал приведенный ниже код.
public class LogCatTask extends AsyncTask<Void, String, Void> {
public AtomicBoolean run = new AtomicBoolean(true);
@Override
protected Void doInBackground(Void... params) {
try {
//create text file in SDCard
File sdCard = Environment.getExternalStorageDirectory();
File dir = new File (sdCard.getAbsolutePath() + "/myLogcat");
dir.mkdirs();
File file = new File(dir, "logcat.txt");
Runtime.getRuntime().exec("logcat -c");
Process process = Runtime.getRuntime().exec("logcat -f "+file);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
StringBuilder log = new StringBuilder();
String line = "";
Log.e("log cat task...","while...run.get()."+run.get());
while (run.get()) {
line = bufferedReader.readLine();
//Log.e("log cat task...","while...out.");
if (line != null) {
Log.e("log cat task...","while....");
log.append(line);
//publishProgress(log.toString());
//to write logcat in text file
FileOutputStream fOut = new FileOutputStream(file);
OutputStreamWriter osw = new OutputStreamWriter(fOut);
// Write the string to the file
osw.write(log.toString());
osw.flush();
osw.close();
}
line = null;
Thread.sleep(10);
//Log.e("log cat task...","while...out.");
}
//Log.e("log cat task...","ouet....while....");
}
catch(Exception ex){
}
return null;
}
}
после запуска приведенного выше кода он считывает logcat и записывает в хранилище, но до некоторой части журнала.только он читает. Он не читает континуумы. Как читать непрерывный журнал?