我已经编写了一个应用程序,我可以通过GCM(推送通知)向设备发送命令。一个命令是START_LOGGING。当设备收到此命令时,它应该开始将日志语句写入SDCard上的文件。我有另一个命令,我将文件上传到我的服务器。
我可以使用这些机制远程获取设备中的错误。当我在运行Android 4.2.2的HTC One X上测试时,它工作正常。我在运行Android 4.0.3的HTC Desire C上测试了它,并没有将语句记录到SDCard。它创建文件,我可以上传它,但文件是空的。
任何想法为什么?提前谢谢。
public static void logToSdcard(Context context){
String filename = context.getExternalFilesDir(null).getPath() + File.separator + "RR3.txt";
String command = "logcat -f "+ filename + " -v time *:V -v time";
Log.d(TAG, "command: " + command);
try{
Runtime.getRuntime().exec(command);
}
catch(IOException e){
e.printStackTrace();
}
}