2017-08-29 12 views
0

デバイスの起動時に特定のadbコマンドを適用する必要があります。しかし、私は私のアプリを起動するときにそれが必要と言うものとしましょう。私のアンドロイドアプリケーション内でadbシェルコマンドを実行してください

adb shell settings put global policy_control immersive.navigation=* 

私は、Webを検索し、

Process p = Runtime.getRuntime().exec("settings put global policy_control immersive.navigation=*"); 

を思い付いた。しかしunfortunallyこのCOMANDは動作しません。私は私の携帯電話をPCに接続し、直接コマンドウィンドウを介してadbコマンドを実行する - すべての問題はありません。しかし、私はアプリからそれを実行する - 何も動作しないと私もログに関連するエラーのいずれかが表示されません。

私もこれを試しました: https://www.learn2crack.com/2014/03/android-executing-shell-commands.html "ls/system/framework"のようなコマンドが動作します。しかし、私が必要とするものはありません。

私のデバイスは、アンドロイド6.0.1に基づいて、redmi note 3 pro running miui 8です。私のプロジェクトはEclipseにあります。

このようなタックをルートなしで実行することは可能ですか?

+0

HTTPS ://developer.android.com/studio/tools/sdk/eclipse-adt.html –

答えて

0

の代わりに:

Process p = Runtime.getRuntime().exec("settings put global policy_control immersive.navigation=*"); 

試してみてください。

Process p = Runtime.getRuntime().exec(new String[]{"settings", "put", "global", "policy_control", "immersive.navigation=*"); 

execコマンドは最初の文字列は、コマンド、残りはその引数である文字列の配列であることを期待

関連する問題