在Java中Dumpsys权限拒绝

vin*_*nod 4 android

我正在尝试获取dumpsys统计信息[如dumpsys cpuinfo,dumpsys battery].我在java中执行这些并将其写入文件.但我得到了,

2012.06.20 07:32:19
Permission Denial: can't dump cpuinfo from from pid=862, uid=10040 without permission android.permission.DUMP
for all dumpsys commands.
Run Code Online (Sandbox Code Playgroud)

我已经添加权限"android.permission.DUMP",并"android.permission.BATTERY_STATS"在android.manifest.但是,没有获得resulyPlease帮助作为其关键.我使用的代码如下所示cmd包含dumpsys cpuinfo或dumpsys电池[任何人]

Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
System.setOut(new PrintStream(new FileOutputStream("/sdcard/Monitor/"+file+".txt",false)));
System.out.println("\n\n"+sdf.format(cal.getTime()));           
Log.w("cmd-fn", cmd);
process=Runtime.getRuntime().exec(cmd);
process.waitFor();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String buffer="";

while((buffer=bufferedReader.readLine())!=null)
      {
    //fileobj.write(buffer);
    System.out.println(buffer);
    //output.write(buffer);
}
    buffer="";
    BufferedReader buffered = new BufferedReader(new InputStreamReader(process.getErrorStream()));
    while((buffer=buffered.readLine())!=null)
        {
        Log.w("exception",buffer);
        }
Run Code Online (Sandbox Code Playgroud)

以下是我的清单条目

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.DUMP" />
<uses-permission android:name="android.permission.BATTERY_STATS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
Run Code Online (Sandbox Code Playgroud)

Nik*_*kov 10

DUMP权限定义为android:protectionLevel="signatureOrSystem"除非您的应用程序使用平台密钥签名或安装在系统分区中,否则无法获取该权限 .