当前位置: 首页 > news >正文

做红酒网站软件定制开发平台

做红酒网站,软件定制开发平台,wordpress图片存储,wordpress php配置文件前面介绍了 Android 运行时权限。 其中,申请权限的步骤有些繁琐,需要用到:ActivityCompat.requestPermissions 函数和 onRequestPermissionsResult 回调函数,今天就借助 ActivityResultLauncher 来简化书写。 步骤1:创…

前面介绍了 Android 运行时权限。
其中,申请权限的步骤有些繁琐,需要用到:ActivityCompat.requestPermissions 函数和 onRequestPermissionsResult 回调函数,今天就借助 ActivityResultLauncher 来简化书写。

步骤1:创建 ActivityResultLauncher

首先,你必须在 onCreate 函数的前面创建 ActivityResultLauncher 对象。写在 onCreate 的上面
通过 registerForActivityResult 函数可以创建 ActivityResultLauncher 对象。

/*** 申请权限*/
private val requestPermission = registerForActivityResult(ActivityResultContracts.RequestPermission()
) {if (it) {Log.d(TAG, "申请成功")} else {Log.d(TAG, "申请失败")}
}

第一个参数指定申请权限的启动器RequestPermission
第二个参数是回调函数,通过回调函数获取结果。例如,申请权限的回调函数只有一个 Boolean 类型的参数,表示权限申请是否成功。之后,你可以在回调函数里处理相关逻辑。

步骤2:启动 ActivityResultLauncher

通过 ActivityResultLauncher 对象的 launch 方法可以启动申请权限的启动器。

requestPermission.launch(Manifest.permission.READ_EXTERNAL_STORAGE)

launch 函数接收一个参数,这个参数表示你要申请哪个权限。例如READ_EXTERNAL_STORAGE

综合案例

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><!-- 读写文件 --><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /></manifest>

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/main"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><androidx.appcompat.widget.AppCompatButtonandroid:id="@+id/main_btn"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="申请权限"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout>

MainActivity

class MainActivity : AppCompatActivity() {private val TAG = "MainActivity"/*** 申请权限*/private val requestPermission = registerForActivityResult(ActivityResultContracts.RequestPermission()) {if (it) {Log.d(TAG, "申请成功")work()} else {Log.d(TAG, "申请失败")}}override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)val button: AppCompatButton = findViewById(R.id.main_btn)button.setOnClickListener {requestPermission()}}private fun requestPermission() {if (ContextCompat.checkSelfPermission(this,Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {Log.d(TAG, "有权限")work()} else {Log.d(TAG, "无权限")requestPermission.launch(Manifest.permission.READ_EXTERNAL_STORAGE)}}private fun work() {Log.d(TAG, "工作")}
}
http://www.yayakq.cn/news/113762/

相关文章:

  • 区块链技术做网站开发公司质量管理制度体系的情况说明
  • 一个专门做视频配音的网站河南科技网站建设
  • 网站制作哪些公司好wordpress 学院 模板
  • 扁平化风格 网站东营建设信息网最新消息
  • 凡客网站建设怎么样沈阳制作网站
  • 网站开发与实训报告网络规划设计师多少分通过
  • 网站后台 栏目管理响应式布局基本知识
  • 网站制作的核心技术手机百度云转换wordpress
  • seo营销培训咨询搜索排名seo
  • 做网站建设的公司是什么类型装修设计效果图大全免费
  • wordpress植物网站wordpress上图片不显示
  • 2小时wordpress建站广告投放平台代理
  • 新开传奇网站手游o2o电子商务平台有哪些
  • 农村网站建设茂名一站式做网站哪家强
  • 网站服务费一年多少钱怎么做网络推广最有效
  • 申请关闭网站淘宝宝贝链接怎么做相关网站
  • 网站地图怎么做_选择响应式网站建设
  • 无锡做公司网站的公司自己做网站推广
  • 电商网站开发需要什么语言清远建设局网站
  • 贷款网站模板手机版html编辑软件
  • 怎么做关于花的网站网络推广公司开业广告
  • 广西住房与建设厅网站首页做ppt的网站叫什么
  • 上饶做网站的公司怎么做一个好的wordpress
  • 租好服务器咋做网站呢东莞营销型网站哪家好
  • 有哪个网站可以查别人做没做过牢吗施工合同模板
  • 松原建设小学网站网站做单链 好不好
  • 自己的网站怎么维护新农村建设网站
  • 新增域名网站建设方案seo优化网络公司排名
  • 南京网站网站建设网站服务器位置查询
  • 岭南地区网站建设北京市网站维护公司