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

wordpress 网页滚轮翻页信息流优化

wordpress 网页滚轮翻页,信息流优化,网站模板展示,域名备案成功怎么做网站通过AlarmManager添加定时任务,即使应用被杀死了,也会启动intent 用户静默安装前,定时自启动自身应用。直到应用启动完成,取消其他的定时任务 object InstallAppUtils {const val DEBUG_UPDATE falseprivate const val PACKAGE…

通过AlarmManager添加定时任务,即使应用被杀死了,也会启动intent

用户静默安装前,定时自启动自身应用。直到应用启动完成,取消其他的定时任务

object InstallAppUtils {const val DEBUG_UPDATE = falseprivate const val PACKAGE_NAME = "com.demo.test"suspend fun installApkCmd(context: Context,filepath: String,onFailed: () -> Unit,onSuccess: () -> Unit) {LogUtils.d("InstallAppUtils installApk filepath=${filepath}")try {val apkFile = File(filepath)scheduleAppRestart(context)MmkvUtils.saveUpdatingApkFilePath(apkFile.absolutePath)delay(500)//延迟执行命令,先做好升级前的准备val process = Runtime.getRuntime().exec(arrayOf("su", "0", "pm", "install", "-r", apkFile.absolutePath))process.waitFor()if (process.exitValue() == 0) {// 安装成功LogUtils.d("APK 静默安装成功")onSuccess.invoke()} else {// 安装失败,可读取错误流以获取详细信息val errorStream = process.errorStream.bufferedReader().readText()LogUtils.d("APK 静默安装失败:$errorStream")apkFile.delete()onFailed.invoke()}} catch (e: Exception) {e.printStackTrace()}}fun clearUpdatingFile() {try {MmkvUtils.getUpdatingApkFilePath()?.let { path ->if (path.isNotEmpty()) {LogUtils.d("InstallAppUtils clearUpdatingFile $path")val file = File(path)if (file.exists()) {file.delete()}}}} catch (e: Exception) {e.printStackTrace()} finally {MmkvUtils.clearUpdatingApkFilePath()}}/*** 通过AlarmManager尝试每隔10秒启动应用*/fun scheduleAppRestart(context: Context) {// 构造启动应用的 Intent,这里假设 MainActivity 为入口var triggerAtMillis = System.currentTimeMillis() + 10_000Lval alarmManager = context.getSystemService(Context.ALARM_SERVICE) as AlarmManagerrepeat(6) {triggerAtMillis += 10_000LgetRestartPendingIntent(context, it)?.let { pendingIntent ->// setExactAndAllowWhileIdle 确保在低功耗模式下也能执行alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP,triggerAtMillis,pendingIntent)}}}// 取消启动应用的定时任务fun cancelAlarm(context: Context) {val alarmManager = context.getSystemService(Context.ALARM_SERVICE) as AlarmManagerrepeat(6) {getRestartPendingIntent(context, it)?.let { pendingIntent ->alarmManager.cancel(pendingIntent)}}}private fun getRestartPendingIntent(context: Context, requestCode: Int): PendingIntent? {
//        val intent = Intent().apply {
//            component = ComponentName(PACKAGE_NAME, LAUNCH_ACTIVITY)
//            addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK)
//        }val launchIntent: Intent? =getPackageManager().getLaunchIntentForPackage(PACKAGE_NAME)return PendingIntent.getActivity(context,requestCode,launchIntent,PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE)}
}

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

相关文章:

  • 利用博客做网站搜索引擎网络排名
  • 重庆智能网站建设设计网络营销就是seo正确吗
  • 毕业设计代做网站 知乎百度贴吧网页版登录入口
  • 做网站前需要做什么准备互联网营销师是什么
  • 国家建设人才网站怎么在腾讯地图上添加自己的店铺
  • 怎样买网站建设做网络推广有哪些平台
  • 响应式网站 做搜索推广缺点重庆好的seo平台
  • 浙江疫情又严重了win10系统优化软件
  • 宇讯网站建设长沙官网seo分析
  • 瀑布流响应式网站模板简述网站建设的流程
  • 北京展示型网站推广普通话奋进新征程手抄报
  • 网站如果实现微信支付吗东莞网站seo推广
  • 星月教你做网站松原头条新闻今日新闻最新
  • 什么做网站的公司好报个电脑培训班要多少钱
  • 公共图书馆门户网站建设总结注册公司网站
  • 如何申请自己的个人网站百度推广计划
  • wordpress做阿里巴巴国际站上海百度公司总部
  • 刚成立公司如何做网站dw网站制作
  • 做啊网站关键词小说
  • 秦皇岛网站建设sem推广
  • 易语言做网站登陆绍兴seo排名收费
  • 一个网站需要几个人做百度广告联盟网站
  • 深圳比较出名的外贸公司东营seo
  • 做网站公司佛山黑帽seo是什么
  • 深圳电商网站开发公司制作网站费用
  • 东坑镇仿做网站域名注册 万网
  • wordpress建立栏目seo营销推广全程实例
  • 做暧暧视频免费视频网站2022智慧树互联网与营销创新
  • 定制商城网站建设网搜网
  • 网站策划书编写泰州百度公司代理商