發表文章

目前顯示的是有「permission」標籤的文章

Android M run-time permissions request

圖片
首次在 Google Play Developer Console 看到 "當機與ANR" 有一筆 Exception 出現 訊息如下 java.lang.SecurityException: Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE flg=0x3 cmp=com.google.android.GoogleCamera/com.android.camera.CaptureActivity clip={text/uri-list U:file:///storage/emulated/0/Pictures/Temp/temp.png} (has extras) } from ProcessRecord{82c52a4 13909:tools.sporting.com.pictranslate/u0a36} (pid=13909, uid=10036) with revoked permission android.permission.CAMERA Google 大神說從 Android M 以上版本的權限取得有改變。 除了以往 mainifests 要求的權限外,在執行時期還要確認使用者是否允許權限使用, 使用者不允許的話還要說明權限需求的原因。 那些權限須要特別注意呢?   Android 6.0 新增的權限模式 - 執行時要求權限 (Runtime Permissions) ----------------- 後記 手邊沒有Android M的手機可以測試,昨天改的版本是否可正常運作在 Android M以上版本有待確認。 看完 Issue 188073 的討論後,我的理解是以往透過 intent 去使用系統的 MediaStore.ACTION_IMAGE_CAPTURE、MediaStore.ACTION_VIDEO_CAPTURE、Intent.ACTION_CALL 是不須要在 mainifests 宣告權限,可是在這 Android M 以上版本的政策實施後,除了原始 app 須要宣告權限,還要在呼叫 intent 時確認權限的取得,到下一個 camera app 後,會...