2017-10-10 7 views
0

私は、デバイス上で動作している他のアプリケーションのPID(Googleマップ、電卓など)にアクセスできるはずのAndroidアプリケーションを作成しています。私は毎秒次のコードを実行して、Androidデバイス上で実行中のプロセスをプルします。しかし、私はそれを実行すると、3つの他のアプリケーションも実行されているにもかかわらず、私のアプリケーションに関する情報が表示されます。誰かが、Androidデバイス上で動作している他のアプリケーションのPIDを取得する方法に関する提案はありますか?実行中のすべてのアプリケーションからPIDを取得する(Android)

try { 
    Process process = Runtime.getRuntime().exec("ps"); 
    BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream())); 
    while(true) { 
     String line = in.readLine(); 
     System.out.println(line); 
     if (line == null) break; 
    } 
} 
catch (IOException e) { 
     e.printStackTrace(); 
} 
+0

お試しください]のps -a 'を使用してそれを得ることができます。それは私のローカルでより多くのプロセスをリストします – vdelricco

答えて

0

あなたが活動マネージャー

ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); 
List<ActivityManager.RunningAppProcessInfo> pids = am.getRunningAppProcesses(); 
int processid = 0; 
for (int i = 0; i < pids.size(); i++) { 
    ActivityManager.RunningAppProcessInfo info = pids.get(i); 
    System.out.println(info.pid); 
} 
関連する問題