首页
工具
隐私协议
App Privacy Policy
更多
作品
关于我们
Search
1
android5遇到INSTALL_FAILED_DEXOPT 解决办法
1,667 阅读
2
设置max_connections无效
1,485 阅读
3
FlexboxLayout+recyclerView实现自动换行
1,382 阅读
4
Nginx配置多个域名
1,258 阅读
5
Android P http网络请求失败
1,231 阅读
默认分类
mysql
android
android深入
Jetpack Compose
Android传感器
php
Yii2
windows
webrtc
登录
Search
标签搜索
android
kotlin
webrtc
kurento
mysql
adb
nginx
flutter
rsa
微信
git
Yii2
md5
加密
dart
aes
wechat
windows
小程序
dexopt
Typecho
累计撰写
80
篇文章
累计收到
3
条评论
首页
栏目
默认分类
mysql
android
android深入
Jetpack Compose
Android传感器
php
Yii2
windows
webrtc
页面
工具
隐私协议
App Privacy Policy
作品
关于我们
搜索到
1
篇与
registerForActivityResult
的结果
2021-03-25
onActivityResult过时了,registerForActivityResult使用方法
最常用的写法registerForActivityResult( ActivityResultContracts.StartActivityForResult() ) { result -> val data = result.data val resultCode= result.resultCode val extra = data?.getStringExtra("extra") }.launch(Intent(this, MainActivity::class.java))除了基本用法,ActivityResultContracts还提供了一些ActivityResultContract的实现类,以便进行其他的操作:RequestMultiplePermissions : 多个权限请求RequestPermission : 单个权限请求TakePicturePreview : 拍照预览TakePicture : 拍照TakeVideo : 摄像PickContact : 选择联系人GetContent : 获取各种文件的UriGetMultipleContents : 获取多个各种文件的UriOpenDocument : 打开文件OpenMultipleDocuments : 打开多个文件OpenDocumentTree : 打开文件夹CreateDocument : 创建文件打开相机拍照:registerForActivityResult(ActivityResultContracts.TakePicturePreview()){ // 返回bitmap }.launch(null)获取单个/多个权限请求: // 单个权限获取 registerForActivityResult(ActivityResultContracts.RequestPermission()) { if (it) {//同意权限 } else {//拒绝权限 } }.launch(Manifest.permission.WRITE_EXTERNAL_STORAGE) // 多个权限获取 var permissions: Array<String> = arrayOf( Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA ) registerForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { if (it[Manifest.permission.WRITE_EXTERNAL_STORAGE]!!) {// 同意 } else {// 拒绝 } if (it[Manifest.permission.CAMERA]!!) {// 同意 } else {// 拒绝 } }.launch(permissions)查询联系人信息:registerForActivityResult(ActivityResultContracts.PickContact()){ if(it != null){ val cursor = contentResolver.query(it, null, null, null, null) cursor?.run { if(cursor.moveToFirst()){ val name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)) } } } }.launch(null)选取文件:registerForActivityResult(ActivityResultContracts.OpenDocument()){ // 获取的文件uri }.launch(arrayOf("image/*","text/plain"))
2021年03月25日
1,187 阅读
0 评论
0 点赞