Tag: android权限

Android:动态权限请求设计模式

我在android编程方面很新颖。 我想问一下关于startActivityForResult()和ActivityCompat.requestPermissions()函数及其设计。 我知道这些函数的结果是分别由另一个Activity函数( onActivityResult()和onRequestPermissionsResult() )处理的。 但我不明白为什么这样设计。 尤其是使用ActivityCompat.requestPermissions() 。 为什么我必须控制是否有权限( ContextCompat.checkSelfPermission() ),如果我没有要求它( ActivityCompat.requestPermissions() )。 如果我得到这个许可,然后处理完全不同的function? 我希望有这样的想法: askPermission(Context context, String permission, Runnable permissionGranted, Runnable permissionDenied) 如果我已经有权限,或者如果我从用户那里得到它,它将调用permissionGranted。 有了这个function,我将不得不关心,如果我有权限,或者我没有它。 现在,我必须distonguish如果我有权限,然后做同步任务,或者我没有它,然后在onRequestPermissionsResult() ,我经常做同样的,如果我已经有权限做的“异步”任务。 我的问题是:是否有一些原因,为什么这样设计的权限? 有没有一些function,我上面写了让我只是说如果我有什么做什么,如果我没有权限(以function的方式)做什么? 还是有一些设计模式,以便于处理权限和结果的启动活动? 感谢您的时间和一些解释,如果你知道为什么这个设计很好。