gpt4 book ai didi

android - 单击按钮是否可以获取 logcat 的最后几行?

转载 作者:太空狗 更新时间:2023-10-29 12:42:52 27 4
gpt4 key购买 nike

我试图通过单击按钮获取 Logcat(至少最后几行),但没有出现 -

view.findViewById(R.id.logdone).setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// Make file name.
String fullName = "userlogs";

// Extract to file.
File file = new File(fullName);
InputStreamReader reader = null;
FileWriter writer = null;
try
{
// get input stream
String cmd = "logcat -d -v time";
Process process = Runtime.getRuntime().exec(cmd);
reader = new InputStreamReader (process.getInputStream());

// write output stream
writer = new FileWriter (file);
char[] buffer = new char[10000];
do
{
int n = reader.read (buffer, 0, buffer.length);
if (n == -1)
break;
writer.write (buffer, 0, n);
} while (true);

reader.close();
writer.close();
}
catch (IOException e)
{
if (writer != null)
try {
writer.close();
} catch (IOException e1) {
}
if (reader != null)
try {
reader.close();
} catch (IOException e1) {
}
e.printStackTrace();
return;
}
}
}

注意:

我有权限-

<uses-permission android:name="android.permission.READ_LOGS" />

更新:

我的大部分内容在 Log.d() 然后 Log.v() 然后 Log.e() 然后 Log.i()。但是如何在单击按钮时获取最后的事件行。我的目的是获取这些行并通过电子邮件将它们发送给开发人员。

我正在使用名为 ACRA 的流行第三方 API 发送电子邮件,效果很好。我可以使用 StringBuilder 将我所有的设备日志放入其中,然后通过电子邮件发送。但是我无法得到。

有什么优雅有效的方法吗?

最佳答案

考虑到我对 READ_LOGS 权限不再授予非系统应用的评论,我建议使用 MemoryHandler使用标准 Java Logger .单击按钮,您可以 push发送给目标的消息 StreamHandler (您可以使用它来将它们转储到您选择的输出缓冲区中)。

关于android - 单击按钮是否可以获取 logcat 的最后几行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22830368/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com