Ros*_*ala 6 permissions android android-permissions runtime-permissions
Android 6.0 或更高版本中显示运行时权限对话框,因此Activity.requestPermissions(...)在 API 级别 23 中添加该对话框是有意义的。
ActivityCompat.requestPermissions(...)但为什么Android 6.0以下要使用另外一个( )呢?这是否会在较低版本中显示运行时权限请求对话框?
有什么区别
Activity.requestPermissions(permissions, requestCode)
Run Code Online (Sandbox Code Playgroud)
和
ActivityCompat.requestPermissions(activity, permissions, requestCode)
Run Code Online (Sandbox Code Playgroud)我应该使用哪一个?
这是否会在较低版本中显示运行时权限请求对话框?
不会。低版本没有这样的对话框。它只会调用您的onRequestPermissionsResult()方法来让您知道您拥有权限(因为根据定义,您已经拥有权限)。
有什么区别
Activity#requestPermissions()适用于 aminSdkVersion为 23 或更高的应用程序,或者开发人员喜欢调用if (Build.VERSION.SDK_INT >= 23)以避免在旧设备上调用的应用程序。
ActivityCompat.requestPermissions()适用于任何应用程序,因为它在所有支持的 API 级别上“做正确的事情”(回到 API 级别 14 IIRC)。
我应该使用哪一个?
如果您的minSdkVersion年龄为 23 岁或以上,请随意使用Activity#requestPermissions()。否则,我推荐ActivityCompat.requestPermissions()。
| 归档时间: |
|
| 查看次数: |
2684 次 |
| 最近记录: |