• 重写onRequestPermissionsResult回调方法,对授权结果进行判定,执行后续操作。 代码示例如下:(OldRequestPermissionActivity.kt) 每次点击随机申请一个权限,回调中打印授权结果,运行效果如下: 3 现在申请权限 权限声明是一样的,权限申请API不同:使用Activity Results API提供的RequestPermission或RequestMultiplePermissions来...
二、使用Activity Results API管理返回结果 使用Activity Results API,我们需要创建一个ActivityResultLauncher对象来启动需要返回结果的Activity。下面是一个简单的示例代码,演示了如何使用Activity Results API启动一个拍照Activity并获取返回的图片数据: ActivityResultLauncher<String> cameraLauncher = registerForActivityResult...
在读到第三章3.3.3小节 更多隐式intent的用法 这一段的时候做了几个小实验,其中在AndroidMainfest.xml中修改ThirdActivity的注册信息时系统报了这么一个错误:Activity supporting ACTION_VIEW is not exported提前说明,我用的Android Studio和书上用的Android Studio版本不同,我用的是官网上找到的最新版。 遇到问题解...
4. 使用 Activity Result API 进行权限处理 ex: 申请读SDcard的权限: classFirstActivity:AppCompatActivity() {privatevalrequestPermissionLauncher = registerForActivityResult(ActivityResultContracts.RequestPermission()) { granted ->if(granted) {// User allow the permission.}else{// User deny the permissio...
ActivityResultContracts相当于一个枚举类,是谷歌官方贴心封装的,里面提供了一些常用的ActivityResultContract类对象供我们使用 像拍照,申请权限的等操作,从代码提示就可以看到了,如下图所示: 这里我们选用StartActivityForResult(),字面意思应该很好理解,就是应用在就是页面跳转并返回数据的情景 ...
有了这个,我们就可以抛弃所有的第三方权限请求框架,只需要将这两个Contract放到BaseActivity中,或者抽取到一个单独的类中,就能随时随地申请权限。是不是很方便!!!在非Activity/Fragment的类中接收Activity的结果 在Activity和Fragment中,我们能直接使用registerForActivityResultAPI ,那是因为ConponentActivity和Fragment基类实...
方案1:官方 Activity Result API Google公司更新了开发库,使用 Activity Result API接口可以简化操作 例子中给处理使用方法,需要两句话进行请求。功能比较完备,标准。大致是这样 方案2:使用继承类的方法 这个方法是定义一个回调接口,不关心哪些授权,哪些不授权,全部授权才算成功。只需要...
if(!mActivityResultRegistry.dispatchResult(requestCode, resultCode, data)) { super.onActivityResult(requestCode, resultCode, data); } } 可以看到,这两个方法都被标记为了Deprecated,那这两个方法不推荐使用了,Google推荐使用什么方式从Activity中更好...
Activity Result API使用 主要有两种使用方式: 1、调用系统内置ActivityResultContract 2、调用自定义ActivityResultContract 方式一,系统内置ActivityResultContract使用 Android系统内置了常用Contract,部分列举如下 StartActivityForResult():通用Contract RequestMultiplePermissions():申请一组权限 ...