2016-09-30 13 views
7

とアプリケーションのCPU使用率を取得する方法はありますがアンドロイド7(ヌガー)私はトップの呼び出しを使用してCPU使用率を取得することができたのAndroidの以前のリリースでは

 String[] cmd = { 
       "sh", 
       "-c", 
       "top -m 1000 -d 0 -n 1 | grep \"" + aAppPID + "\""}; 
     lProcess = Runtime.getRuntime().exec(cmd); 
     BufferedReader lReader = new BufferedReader(new InputStreamReader(lProcess.getInputStream())); 

Androidの7が変更されたことが表示されますこれを許可しないセキュリティまたは何か。今、Android Studioに接続されている場合は、CPU%が1の行が表示されます。リリース版を実行している場合は、行を返さないことがわかります。

これを許可するために追加できるアクセス許可があるかどうかは知りませんか?

ここに記載されている権限ノートは、この問題と関係があります。ここで

https://developer.android.com/about/versions/nougat/android-7.0-changes.html#perm

私は前7リリースのCPU使用率を取得するための解決策を掲載別の質問へのリンクです。

How do I get the total CPU usage of an application from /proc/pid/stat?

+0

はこの問題について何らかの更新がある の/ proc /自己/ STATの代わりに、/ procを/ STATを使用することですか?私もこの問題についているようです。 – Amritesh

+0

私はこのための修正があるとは思わない。私はセキュリティの立場から、Googleは物事をより厳しく締め出す道筋にいると考えており、APIを作成しない限りアクセスはできません。 –

+0

Googleがアクセスを返すのではなく、もっと離れていくことを決定しているようだ。 https://stackoverflow.com/questions/46182041/get-cpu-usage-of-a-device-running-android-8-oreo –

答えて

0

今、私たちはオレオ上に移動していること、彼らがそれを置き換えるために新しいAPIの任意の並べ替えを開いた場合にどの私はショックを受けるだろうし、Googleはセキュリティ上の問題として、この機能を奪うように続けているようです。 Googleの誰かからのコメントが2つあり、次の課題トラッカーを参照してください。彼らの最高の勧告は

https://issuetracker.google.com/issues/37140047

関連する問題