2016-03-20 12 views
0

デバイスのディスプレイ解像度を変更するために、コマンドwmを実行しようとしました。私は、コマンドを実行した場合におけるADB SHELLは完璧に動作しますが、私はコードで実行しようとする場合:Androidランタイムで「wm size」コマンドを実行するにはどうすればよいですか?

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

何も起こりません。 logcatショー:

? 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

root権限のあるデバイスを除いて可能性があります。スーパーユーザー権限でそのコマンドを実行した場合のみです。 – CommonsWare

+0

@CommonsWare私は 'wm'コマンドが必要なルートではないと思います。私はルートランタイムで試してみる...ありがとう! – olidroide

+0

はい@CommonsWare私はルートランタイムの実行を使用しています。 – olidroide

答えて

0

ほとんどadb shellのコマンドは、平均以上の権限が必要です。これらのコマンドをadb shellで実行すると、その特権が与えられます。これらのコマンドをアプリケーションから直接実行する場合、デバイスがルートされていない限り、それらのコマンドをスーパーユーザーとして実行する必要があります。

+0

ありがとう@CommonsWareはルートデバイスを使用する必要があります。 – olidroide

関連する問題