2017-05-10 7 views
0

내 안드로이드 응용 프로그램에서 버튼 클릭시 내 안드로이드 장치를 다시 시작하고 싶습니다. 그러나 은 뿌리 전화에서 작동하지만 뿌리깊은 전화기에서는 작동하지 않습니다.뿌리 박은 & 루틴되지 않은 안드로이드 장치를 프로그래밍 방식으로 재부팅 할 수 있습니까?

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

        } catch (IOException e) { 
         e.printStackTrace(); 
        } catch (InterruptedException e) { 
         e.printStackTrace(); 
        } 

는 모두 & 루팅 해제 안드로이드 장치를 뿌리 재부팅 할 수 있습니까?

답변

1

최근 변경된 사항이없는 한 일반 응용 프로그램에서 프로그램되지 않은 전화를 재부팅 할 수 없습니다.

응용 프로그램이 시스템 펌웨어 키 (일반 응용 프로그램이 아닌)로 서명 한 경우 수행 할 수 있습니다.

루트 장치 경로를 실행하는 경우 런타임 exec 함수에는 예상대로 작동하지 않을 수 있다는 몇 가지 특성이 있음을 알고 있어야합니다.

오히려 여기에 훌륭한 요약가이 어려운 방법으로 학습보다는 : 뭔가 http://www.javaworld.com/article/2071275/core-java/when-runtime-exec---won-t.html

+0

을 변경하지 않는 한이? 나는이 점을 모르겠다. 설명해 주시겠습니까? – kavie

+0

안드로이드가 자주 바뀌기 때문에 그냥 내 헤딩을 할 수 있습니다! 내가 아는 한, 이것은 분명히 아직도 그렇다. – Mick