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 icon smile Como hacer que una aplicación solicite permisos de superusuario ");
				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!

¿Te ha gustado?
Envía tus Trackbacks a la siguiente dirección:
http://java.hijodeblog.com/2012/01/18/como-hacer-que-una-aplicacion-solicite-permisos-de-superusuario/trackback/

¡Deja tu comentario!





Disclaimer: Las imágenes mostradas en ésta página web se utilizan sólamente con propósitos ilustrativos, y son propiedad de sus respectivos autores (cuando es aplicable).
Hijo de Blog es un producto del Dr. SeROne

Los contenidos se ofrecen bajo una licencia de Creative Commons
Attribution-NonCommercial-NoDerivs 3.0 Unported

salvo que se indique lo contrario

Licencia de Creative Commons