關於android 6.0以上系統的拍照問題
阿新 • • 發佈:2018-12-30
- 這塊程式碼是同事寫的,他的手機是5.1,然後到我的7.0的手機直接斃了…..
上網查了下,這裡吧人家好的部落格組合到一起的,有什麼錯誤的地方,希望大佬們指點下
- 當然現在6.0以上都普及好久了, 直接程式碼
- activity的改動 , 之前的呼叫相機,以及圖片的壓縮還是用上面 張哥部落格中的程式碼,只需要進行下面改動
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri uri;
// 判斷是否是AndroidN以及更高的版本 ,
// 注意一下用自己的包名那段字串要和manifest裡對應上
if (Build.VERSION .SDK_INT >= Build.VERSION_CODES.N ){
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
uri = FileProvider.getUriForFile(this , "com.laogao.yourapp.fileprovider" , Utils.getTempImage(this));
}else {
uri = Uri.fromFile(Utils.getTempImage(this));
}
intent.putExtra (MediaStore.EXTRA_OUTPUT, uri);
startActivityForResult(intent2, CAMERANF_REQUEST);
- 上面的程式碼,就是6.0以上的 Uri 形式變了
下面的程式碼就需要進行 6.0 以上的配置,這裡是 重點 , 改動有2點
- 1.需要在自己的manifest中配置
- 2.需要建立一個xml檔案
然後呢 ,程式碼就不上了!這篇部落格已經夠詳細了– > 這是中文的詳細說明
我用三星手機拍照還是有問題,不過別的手機暫時還沒有發現問題