Como hacer que una aplicación solicite permisos de superusuario
Si tenemos el terminal rooteado podemos hacer muchas tareas interesantes desde nuestras aplicaciones. Pero antes de hacer nada, tenemos que solicitar al usuario los permisos de superusuario.
Haremos un método estático par ayudarnos en las tareas de ejecutar cosas como Root:
/**
* Ejecuta un comando como Root
*/
public static boolean ejecutarComoRoot(String comando)
{
Process p = null;
try
{
// Ejecutamos como SU
p = Runtime.getRuntime().exec("su -c "+comando);
try
{
p.waitFor();
// Comprobamos si somos root
if (p.exitValue() != 255)
{
Log.i("Serone", "Comando '"+comando+"' ejecutado como root correctamente
");
return true;
}
else
{
Log.e("Serone", "No somos root, no se puede ejecutar '"+comando+"'...");
}
}
catch (InterruptedException e)
{
Log.e("Serone", "No somos root, no se puede ejecutar '"+comando+"'...", e);
}
}
catch (IOException e)
{
Log.e("Serone", "No somos root, no se puede ejecutar '"+comando+"'...", e);
}
return false;
}
Luego, para solicitar root basta ejecutar cualquier comando, por ejemplo:
// Pedimos root (ejecutando un programa cualquiera como superusuario)
Utils.ejecutarComoRoot("ls");
Inspirado en el código de ésta web.
¡Happy coding!






¡Suscribete al feed RSS!