使用ActivityResultLauncher

提示:ActivityResultLauncher必须在onCreate或者onAttach方法下初始化

一、ActivityResultContract

示例:由android提供的一些标准活动调用契约的集合。

  • StartActivityForResult 使用Intent在activity(fragment)间通信,返回ActivityResult
  • StartIntentSenderForResult 使用IntentSenderRequest. builder构造,可以返回带有activity的ActivityResult
  • RequestMultiplePermissions 获取多个动态权限,成功后返回boolean数组
  • RequestPermission 获取单个动态权限,成功后返回true
  • TakePicturePreview 调用相机,拍照后返回bitmap图片信息
  • TakePicture 调用相机,拍照后将图片保存到开发者指定的Uri,返回true
  • TakeVideo 拍摄视频,将拍摄内容保存到开发者指定的Uri,返回缩略图
  • CaptureVideo 拍摄视频,将内容保存到开发者指定的Uri后,返回true
  • PickContact 弹出手机联系人列表,用户选中其中一个后,返回Uri
  • GetContent 访问原始数据,返回Uri,例如相册中的单个图片
  • GetMultipleContents 功能如上,返回Uri数组,例如相册中的多个图片
  • OpenDocument 访问文件数据,打开文件夹,返回单个文件的Uri
  • OpenMultipleDocuments 功能如上,返回多个文件的Uri
  • OpenDocumentTree 
  • CreateDocument

二、使用步骤 

1.初始化

代码如下(示例):

    ActivityResultLauncher<Intent> activityResultLauncher;

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 在onCreate或onAttach中完成初始化
        activityResultLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> {
            // 返回处理
        });
    }

2.启动

代码如下(示例):

activityResultLauncher.launch(Intent intent);
  • 8
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值