2015-11-14 146 views
3

我试图在运行时请求权限在android棉花糖。但我的应用程序在这里崩溃是我的代码。Android在运行时询问权限在运行时抛出异常

private void showWebpage() { 
    if (checkSelfPermission(Manifest.permission.INTERNET) == PackageManager.PERMISSION_GRANTED) { 
     Toast.makeText(this, "Permission Granted", Toast.LENGTH_LONG).show(); 
    } else { 

     requestPermissions(new String[]{Manifest.permission.INTERNET},REQUEST_INTERNET); 
    } 
} 

@Override 
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { 
    super.onRequestPermissionsResult(requestCode, permissions, grantResults); 
} 

当我调用showWebpage()方法时,应用程序崩溃。控制权转到else部分并调用requestPermissions方法,但应用程序崩溃。 这里是我的logcat错误

11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader: Failed to read uid_cputime 
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader: java.io.FileNotFoundException: /proc/uid_cputime/show_uid_stat: open failed: ENOENT (No such file or directory) 
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at libcore.io.IoBridge.open(IoBridge.java:452) 
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at java.io.FileInputStream.<init>(FileInputStream.java:76) 
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at java.io.FileInputStream.<init>(FileInputStream.java:103) 
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at java.io.FileReader.<init>(FileReader.java:66) 
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at com.android.internal.os.KernelUidCpuTimeReader.readDelta(KernelUidCpuTimeReader.java:71) 
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at com.android.internal.os.BatteryStatsImpl.updateCpuTimeLocked(BatteryStatsImpl.java:8031) 
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at com.android.internal.os.BatteryStatsImpl$MyHandler.handleMessage(BatteryStatsImpl.java:155) 
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at android.os.Handler.dispatchMessage(Handler.java:102) 
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at android.os.Looper.loop(Looper.java:148) 
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at android.os.HandlerThread.run(HandlerThread.java:61) 
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at com.android.server.ServiceThread.run(ServiceThread.java:46) 
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) 
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at libcore.io.Posix.open(Native Method) 
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186) 
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at libcore.io.IoBridge.open(IoBridge.java:438) 
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at java.io.FileInputStream.<init>(FileInputStream.java:76)  
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at java.io.FileInputStream.<init>(FileInputStream.java:103)  
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at java.io.FileReader.<init>(FileReader.java:66)  
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at com.android.internal.os.KernelUidCpuTimeReader.readDelta(KernelUidCpuTimeReader.java:71)  
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at com.android.internal.os.BatteryStatsImpl.updateCpuTimeLocked(BatteryStatsImpl.java:8031)  
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at com.android.internal.os.BatteryStatsImpl$MyHandler.handleMessage(BatteryStatsImpl.java:155)  
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at android.os.Handler.dispatchMessage(Handler.java:102)  
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at android.os.Looper.loop(Looper.java:148)  
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at android.os.HandlerThread.run(HandlerThread.java:61)  
11-14 01:33:11.575 1092-1106/system_process E/KernelUidCpuTimeReader:  at com.android.server.ServiceThread.run(ServiceThread.java:46)  

请帮助我,它真的很重要:(

+0

这是真的日志从您的应用程序 –

回答

-1

INTERNET权限已保护级别normal,你并不需要在运行时要求它,你应该只申报您的应用程序是在清单中使用它:?

<uses-permission android:name="android.permission.INTERNET"/> 
+0

但我得到同样的错误,每许可,我试着用相机相同的代码得到同样的错误 – Rahul

相关问题