2011-02-11 20 views
10

Estoy haciendo una aplicación para Android que necesita que el teléfono se reinicie o apague cuando se hace clic en un botón. es posible? ¿O el teléfono requerirá acceso raíz?Reinicie el teléfono con un botón haga clic en

+1

No estoy seguro de si los usuarios aprecian que su dispositivo se vuelva a iniciar o se detenga de repente. Estamos hablando de un teléfono móvil aquí y no de una PC con Windows. –

+0

Sí. Su teléfono móvil y el reinicio no serán repentinamente. Ellos sabrán qué sucederá si eligen ese botón. – IntelSoftApps

Respuesta

17

Puedes hacerlo usando android.os.PowerManager. Función reboot(String reason) está disponible, se necesita el permiso:

android.permission.REBOOT 

sitio oficial:

http://developer.android.com/reference/android/os/PowerManager.html#reboot(java.lang.String)

Por supuesto, es probable que obtenga ese permiso sólo si su aplicación se firma con la clave de firma de sistema:

How to compile Android Application with system permissions

+5

¡no se le otorgará este permiso! – Goddchen

+0

@Goddchen - Gracias, he actualizado mi respuesta. – Zelimir

0

Si su dispositivo es un dispositivo rooteado, puede usar el siguiente código.

Runtime.getRuntime().exec(new String[]{"/system/bin/su", "-c", "reboot now"}); 
1

lo hice en mi aplicación mediante una llamada al método siguiente.

Notas: 1. Asegúrese de que el teléfono esté rooteado 2. Permita que la aplicación en su administrador raíz otorgue automáticamente permiso de raíz.

void reboot() { 
     if (reboot) { 

      try { 
       Process proc = Runtime.getRuntime().exec(new String[]{"/system/bin/su", "-c", "reboot"}); 
       proc.waitFor(); 
      } catch (Exception ex) { 
       Log.e(TAG, "Error ", ex); 
      } 

     } 
    } 
Cuestiones relacionadas