В моем приложении есть функция автоматического сообщения об ошибках, включающая полезную информацию для отладки.
Одна вещь, которую я хотел бы включить, - это поставщик ПЗУ. В частности, я хотел бы знать, работает ли пользователь с пользовательским ПЗУ и какой, желательно даже с номером версии.
Есть идеи, как получить эту информацию программно?
--- Взято с Квинтина (см. Ниже)
http://code.google.com/p/cyanogen-updater/source/browse/trunk/src/cmupdaterapp/utils/SysUtils.java#19:
public static String getReadableModVersion() {
String modVer = getSystemProperty(Constants.SYS_PROP_MOD_VERSION);
return (modVer == null || modVer.length() == 0 ? "Unknown" : modVer);
}
При этом константа это:
public static final String SYS_PROP_MOD_VERSION = "ro.modversion";
А вот и getSystemProperty ();
public static String getSystemProperty(String propName){
String line;
BufferedReader input = null;
try
{
Process p = Runtime.getRuntime().exec("getprop " + propName);
input = new BufferedReader(new InputStreamReader(p.getInputStream()), 1024);
line = input.readLine();
input.close();
}
catch (IOException ex)
{
Log.e(TAG, "Unable to read sysprop " + propName, ex);
return null;
}
finally
{
if(input != null)
{
try
{
input.close();
}
catch (IOException e)
{
Log.e(TAG, "Exception while closing InputStream", e);
}
}
}
return line;
}
Может ли кто-нибудь с ПЗУ CM запустить это для меня?
Btw. Осторожно, это код GPL. Я, например, не могу его использовать.
Любой более простой или не GPL способ?