2017-03-20 50 views
-1

在Android> = 6請求Android權限時:邊界情況在運行時

  1. 當一個方法,這需要一個權限P,被調用,但允許P沒有聲明在清單一個java.lang.SecurityException將被撫養。

  2. 當我沒有檢查是否授予危險權限並且調用了使用它的方法時,會發生同樣的異常。

  3. 當您在運行時使用ActivityCompat.requestPermissions方法請求危險權限P,但未在清單中聲明危險權限P時,對話框不會出現,並且默認情況下權限被拒絕(和您不能看到這發生了看日誌)。

這些索賠是否正確?

回答

1

當需要權限P的方法被調用但權限P未在清單中聲明時會引發java.lang.SecurityException。

正確。可能會出現一些其他的例外情況。受許可保護的行爲將無法正常工作。

當我不檢查是否授予危險權限並且調用使用它的方法時,會發生同樣的異常。

僅適用於Android 6.0及更高版本的應用程序,適用於帶有targetSdkVersion或更高版本的應用程序。

當你問在與ActivityCompat.requestPermissions方法運行一個危險的權限P,但風險的權限P沒有在清單中聲明,該對話框不會出現,允許在默認情況下拒絕(並且你不能看到這發生在查看日誌)。

「默認拒絕」部分與您的第一個問題相同。否則,您是正確的—您只能請求在清單中請求的dangerous那些運行時權限。

相關問題