[Android] ProcessBuilder によるアプリパッケージの検索

Android7 

USB 接続で Android の操作は adb command を使いますが、Android アプリ自身からコマンドを送ることができます。
Runtime.getRuntime().exec あるいは ProcessBuilder を使います.
 
下はProcessBuilderを使ってアプリパッケージのリストを表示させた例です。
 
processbuilder_1
 

Android Studio 2.2.2
Android 7.1.1

ProcessBuilder の設定

 
adb コマンド なのですが既にAndroid の中ですので、adb は入りません
 
アプリケーション・パッケージを探すコマンドは
$ pm list packages
 
PCから接続している場合は、ターミナルで adb shell からシェルに入り、pm list packages を打ち込みます

 
コマンドとしてProcessBuilderに処理させるには
ProcessBuilder(command)
この command は文字配列かArrayListなどで入れなければなりません
 
MainActivity.java

 
レイアウトです
activity_main.xml

 
また、Runtime.getRuntime().exec を使って
Runtime.getRuntime().exec(new String[] {“pm”,”list”,”com.example.testapp”});
のようにすればできますが
ProcessBuilder の方が簡単です