我想阅读日志并将其保存到应用程序内的字符串中。我使用Log.d(..)来保存日志。我读过你使用logcat?但是在运行Android手机时这不起作用。你需要切换一个布尔值,READ_LOG?
答案 0 :(得分:2)
public static void getLogCatDetails() {
try {
Process process = Runtime.getRuntime().exec("logcat -d");
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
StringBuilder log = new StringBuilder();
String line = "";
while ((line = bufferedReader.readLine()) != null) {
log.append(line);
}
}
catch (Exception e) {
e.printStackTrace();
}
}
public static void clearLog()
{
try
{
Runtime.getRuntime().exec("logcat -c");
}
catch (Exception e) {
e.printStackTrace();
}
}
您必须指定 android.permission.READ_LOGS 权限
答案 1 :(得分:0)
尽管KK编写的内容绝对正确,但我建议您使用SharedPreferences保存所有日志,因为如果用户看到一些他无法理解的敏感权限,则可能导致您的应用程序的怀疑和不良评级。