Android M权限被授予后被拒绝

时间:2015-10-15 09:34:58

标签: android file-permissions android-6.0-marshmallow

在允许权限并重新创建活动后,我收到此错误。

 E/AndroidRuntime: java.lang.NullPointerException: file
 E/AndroidRuntime:     at android.net.Uri.fromFile(Uri.java:452)

     if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED ||
                    ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
         ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
     }

请求许可的代码是:

<?php
$content='<table width="100%" border="1">';
$content.='<tr><th>name</th><th>email</th><th>contact</th><th>address</th><th>city</th><th>country</th><th>postcode</th></tr>';
for ($index = 0; $index < 10; $index++) { 
$content.='<tr><td>nadim</td><td>nadim.sheikh.07@gmail.com</td><td>7737033665</td><td>247 dehligate</td><td>udaipur</td><td>india</td><td>313001</td></tr>';
}
$content.='</table>';
//$html = file_get_contents('pdf.php');
if(isset($_POST['pdf'])){
    require_once('./dompdf/dompdf_config.inc.php');
    $dompdf = new DOMPDF;                        
    $dompdf->load_html($content);
    $dompdf->render();
    $dompdf->stream("hello.pdf");
}
?>
<html>
    <body>
        <form action="#" method="post">        
            <button name="pdf" type="submit">export</button>
        <table width="100%" border="1">
           <tr><th>name</th><th>email</th><th>contact</th><th>address</th><th>city</th><th>country</th><th>postcode</th></tr>         
            <?php for ($index = 0; $index < 10; $index++) { ?>
            <tr><td>nadim</td><td>nadim.sheikh.07@gmail.com</td><td>7737033665</td><td>247 dehligate</td><td>udaipur</td><td>india</td><td>313001</td></tr>
            <?php } ?>            
        </table>        
        </form>        
    </body>
</html>

崩溃后,当我启动应用程序时,我没有看到权限对话框,一切正常,我可以打开相机。 我正在使用模拟器。 Nexus 5 API 23。

2 个答案:

答案 0 :(得分:1)

如果您向清单添加CAMERA权限,但用户未在运行时授予它,您会注意到捕获照片的外部意图将失败并抛出SecurityException。

https://plus.google.com/+AndroidDevelopers/posts/e9kyM7VXajz

答案 1 :(得分:1)

这似乎是Android M中的一个错误。但可能只是在模拟器上。

这是google dev论坛上问题的linkhttps://code.google.com/p/android-developer-preview/issues/detail?id=2982

店主说:

  

由于问题仍存在于模拟器6.0中,因此重新打开问题   在MRA58K设备上正常工作

我仍然在模拟器上看到这个。