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

wordpress 焦点图大小长春网站快速优化排名

wordpress 焦点图大小,长春网站快速优化排名,淄博网站建设,免费网站模版 好用的首先抛出异常日志,在 先说结论:因为session安装监听是在点击事件里面,所以会保留旧的对象数据 直接上代码,原有的逻辑是点击时执行session安装,并注册监听回调 private fun installApk(position: Int) {val packageIns…

首先抛出异常日志,在

先说结论:因为session安装监听是在点击事件里面,所以会保留旧的对象数据

直接上代码,原有的逻辑是点击时执行session安装,并注册监听回调

  private fun installApk(position: Int) {val packageInstaller = packageManager.packageInstallerval params =PackageInstaller.SessionParams(PackageInstaller.SessionParams.MODE_FULL_INSTALL)params.setSize(File(itemList[position].path).length())val sessionId = packageInstaller.createSession(params)val session = packageInstaller.openSession(sessionId)// 注册安装进度监听器val sessionCallback = object : PackageInstaller.SessionCallback() {override fun onCreated(sessionId: Int) {// 安装会话创建成功Log.i("InstallProgress", "Session created: $sessionId")}override fun onProgressChanged(sessionId: Int, progress: Float) {// 安装进度更新itemList[mPosition].installed = 1itemList[mPosition].progress = progress * 100adapter.notifyItemChanged(mPosition)Log.d("install","onProgressChanged: $mPosition ${itemList[mPosition].installed} $progress")}override fun onFinished(sessionId: Int, success: Boolean) {if (success) {// 安装成功itemList[mPosition].installed = 2} else {// 安装失败itemList[mPosition].installed = 3}adapter.notifyItemChanged(mPosition)Log.d("install","onProgressChanged: $mPosition ${itemList[mPosition].installed} $success")}override fun onActiveChanged(sessionId: Int, active: Boolean) {// 安装会话激活状态发生变化}override fun onBadgingChanged(sessionId: Int) {// 应用图标发生变化}}// 注册监听器packageManager.packageInstaller.registerSessionCallback(sessionCallback)try {val inputStream = FileInputStream(itemList[position].path)val outputStream = session.openWrite("base.apk", 0, -1) // -1 表示自动计算大小inputStream.copyTo(outputStream)session.fsync(outputStream)inputStream.close()outputStream.close()val intent = Intent(context, PackageInstallReceiver::class.java).apply {action = itemList[position].pkgputExtra(PackageInstaller.EXTRA_PACKAGE_NAME, itemList[position].pkg)}val pendingIntent = PendingIntent.getBroadcast(context,0,intent,PendingIntent.FLAG_UPDATE_CURRENT)session.commit(pendingIntent.intentSender)} catch (e: IOException) {session.abandon()e.printStackTrace()}}

修改后,将监听注册到onCreate中,并

    override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)// 注册监听器packageManager.packageInstaller.registerSessionCallback(sessionCallback)}// 注册安装进度监听器private val sessionCallback = object : PackageInstaller.SessionCallback() {override fun onCreated(sessionId: Int) {// 安装会话创建成功Log.i("InstallProgress", "Session created: $sessionId")}override fun onProgressChanged(sessionId: Int, progress: Float) {// 安装进度更新itemList[mPosition].installed = 1itemList[mPosition].progress = progress * 100adapter.notifyItemChanged(mPosition)Log.d("installApk", "onProgressChanged: $mPosition ${itemList[mPosition].installed} $progress")}override fun onFinished(sessionId: Int, success: Boolean) {if (success) {// 安装成功itemList[mPosition].installed = 2} else {// 安装失败itemList[mPosition].installed = 3}adapter.notifyItemChanged(mPosition)Log.d("installApk", "onProgressChanged: $mPosition ${itemList[mPosition].installed} $success")}override fun onActiveChanged(sessionId: Int, active: Boolean) {// 安装会话激活状态发生变化}override fun onBadgingChanged(sessionId: Int) {// 应用图标发生变化}}private fun installApk(position: Int) {val packageInstaller = packageManager.packageInstallerval params =PackageInstaller.SessionParams(PackageInstaller.SessionParams.MODE_FULL_INSTALL)params.setSize(File(itemList[position].path).length())val sessionId = packageInstaller.createSession(params)val session = packageInstaller.openSession(sessionId)try {val inputStream = FileInputStream(itemList[position].path)val outputStream = session.openWrite("base.apk", 0, -1) // -1 表示自动计算大小inputStream.copyTo(outputStream)session.fsync(outputStream)inputStream.close()outputStream.close()val intent = Intent(context, PackageInstallReceiver::class.java).apply {action = itemList[position].pkgputExtra(PackageInstaller.EXTRA_PACKAGE_NAME, itemList[position].pkg)}val pendingIntent = PendingIntent.getBroadcast(context,0,intent,PendingIntent.FLAG_UPDATE_CURRENT)session.commit(pendingIntent.intentSender)} catch (e: IOException) {session.abandon()e.printStackTrace()}}

http://www.dtcms.com/wzjs/265964.html

相关文章:

  • 上海做网站那家公司好北京seo优化
  • 网站建设方案书 下载哪个网站学seo是免费的
  • 什么网站服务器好深圳网站提升排名
  • 个人网站静态网页模板seo关键词优化举例
  • 武汉哪家做营销型网站好市场调研报告怎么做
  • 湖北交投建设集团有限公司网站广州网站建设正规公司
  • 怎么自建一个网站网页设计需要学什么
  • seo网站上线前分析bt种子磁力搜索
  • 软件技术毕业设计昆明seo案例
  • 南宁建站程序今天的新闻
  • 网站开发工具seo整体优化
  • 自己做网站要哪些东西口碑营销案例2021
  • 如何做像淘宝一样的网站企业网站推广策划
  • 网站反链一般怎么做爱站网关键词挖掘工具
  • 网站需求文档范例外贸网站推广与优化
  • 网站建设费怎么写会计科目seo优化网站源码
  • 在线做头像的网站seo百度关键词排名
  • 万网如何做网站网络销售工资一般多少
  • 成都高投建设开发有限公司网站百度推广登陆
  • 要解析做邮箱以及网站网络营销品牌推广公司
  • 温州集团网站建设搭建网站平台
  • 开发一个app大概需要多少钱?外包seo服务收费标准
  • 大学培训中心网站建设广告公司营销策划方案
  • 互联网登录的网站名百度竞价广告推广
  • wordpress id 连续二十条优化措施
  • 做网站都去哪申请网址官网seo是什么意思
  • 芜湖做网站哪个公司好360竞价推广怎么做
  • 和动物做的网站谷歌推广技巧
  • 广州建网站定制营销型网站策划
  • 合肥 电子商务 网站建设优化用户体验