2016-03-20 4 views
0

Ich versuche einen Befehl wm zur Änderung der Bildschirmauflösung des Geräts auszuführen. Wenn ich den Befehl in ADB SHELL laufen funktioniert perfekt, aber wenn ich versuche, in Code zu tun:Wie führe ich den Befehl "wm size" in Android Runtime aus?

Runtime.getRuntime().exec("wm size 1080x1920"); 

nichts passiert. Die logcat zeigt:

? D/AndroidRuntime: Calling main entry com.android.commands.wm.Wm 
? I/art: System.exit called, status: 1 
? I/AndroidRuntime: VM exiting with result code 1. 
+0

Ich bezweifle, dass das möglich ist, außer vielleicht auf einem gerooteten Gerät, und dann nur, wenn Sie diesen Befehl mit Superuser-Privilegien ausführen. – CommonsWare

+0

@CommonsWare Ich denke 'wm' Befehl ist nicht notwendig root. Ich werde es mit einer Root Runtime versuchen ... danke! – olidroide

+0

Ja @CommonsWare Ich verwende eine Root-Laufzeitausführung und funktioniert. – olidroide

Antwort

0

meisten adb shell Befehle erfordern eine überdurchschnittliche Privilegien. Wenn Sie diese Befehle über adb shell ausführen, erhalten Sie diese Berechtigungen. Wenn Sie diese Befehle direkt von einer App ausführen, tun Sie dies nicht, es sei denn, das Gerät ist rooted und Sie veranlassen, dass diese Befehle als Superuser ausgeführt werden.

+0

Dank @CommonsWare ist ein Root-Gerät erforderlich. – olidroide

Verwandte Themen