热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

com.evernote.android.job.JobRequest.getTransientExtras()方法的使用及代码示例

本文整理了Java中com.evernote.android.job.JobRequest.getTransientExtras()方法的一些代码示例,展示了

本文整理了Java中com.evernote.android.job.JobRequest.getTransientExtras()方法的一些代码示例,展示了JobRequest.getTransientExtras()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JobRequest.getTransientExtras()方法的具体详情如下:
包路径:com.evernote.android.job.JobRequest
类名称:JobRequest
方法名:getTransientExtras

JobRequest.getTransientExtras介绍

[英]Returns the transient extras you passed in when constructing this job with Builder#setTransientExtras(Bundle). WARNING: It's not guaranteed that a transient job will run at all, e.g. rebooting the device or force closing the app will cancel the job.

This will never be null. If you did not set any extras this will be an empty bundle. The returned bundle will also be empty, if the request isn't cached anymore.
[中]返回使用Builder#setTransientExtras(Bundle)构建此作业时传入的临时附加值。警告:不保证临时作业会运行,例如重新启动设备或强制关闭应用程序将取消作业。
这永远不会是空的。如果您没有设置任何附加项,这将是一个空包。如果请求不再缓存,则返回的捆绑包也将为空。

代码示例

代码示例来源:origin: evernote/android-job

@Override
protected JobInfo.Builder setTransientBundle(JobRequest request, JobInfo.Builder builder) {
return builder.setTransientExtras(request.getTransientExtras());
}

代码示例来源:origin: evernote/android-job

public static void persistBundle(@NonNull Context context, @NonNull JobRequest request) {
Intent intent = PlatformAlarmServiceExact.createIntent(context, request.getJobId(), request.getTransientExtras());
PendingIntent pendingIntent = PendingIntent.getService(context, request.getJobId(), intent, PendingIntent.FLAG_UPDATE_CURRENT);
long when = System.currentTimeMillis() + TimeUnit.DAYS.toMillis(1000);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.setExact(AlarmManager.RTC, when, pendingIntent);
}

代码示例来源:origin: evernote/android-job

protected PendingIntent getPendingIntent(JobRequest request, int flags) {
return getPendingIntent(request.getJobId(), request.isExact(), request.getTransientExtras(), flags);
}

代码示例来源:origin: evernote/android-job

protected T prepareBuilder(T builder, JobRequest request) {
builder.setTag(createTag(request))
.setService(PlatformGcmService.class)
.setUpdateCurrent(true)
.setRequiredNetwork(convertNetworkType(request.requiredNetworkType()))
.setPersisted(JobUtil.hasBootPermission(mContext))
.setRequiresCharging(request.requiresCharging())
.setExtras(request.getTransientExtras());
return builder;
}

代码示例来源:origin: evernote/android-job

@Override
public void plantOneOff(JobRequest request) {
PendingIntent pendingIntent = getPendingIntent(request, false);
AlarmManager alarmManager = getAlarmManager();
if (alarmManager == null) {
return;
}
try {
if (request.isExact()) {
if (request.getStartMs() == 1 && request.getFailureCount() <= 0) {
// this job should start immediately
PlatformAlarmService.start(mContext, request.getJobId(), request.getTransientExtras());
} else {
plantOneOffExact(request, alarmManager, pendingIntent);
}
} else {
plantOneOffInexact(request, alarmManager, pendingIntent);
}
} catch (Exception e) {
// https://gist.github.com/vRallev/621b0b76a14ddde8691c
mCat.e(e);
}
}

代码示例来源:origin: evernote/android-job

@Override
public void plantOneOff(JobRequest request) {
if (request.isTransient()) {
TransientBundleHolder.putBundle(request.getJobId(), request.getTransientExtras());
}
OneTimeWorkRequest workRequest = new OneTimeWorkRequest.Builder(PlatformWorker.class)
.setInitialDelay(request.getStartMs(), TimeUnit.MILLISECONDS) // don't use the average here, WorkManager will do the right thing
.setConstraints(buildConstraints(request))
.addTag(createTag(request.getJobId()))
.build();
// don't set the back-off criteria, android-job is handling this
WorkManager workManager = getWorkManager();
if (workManager == null) {
throw new JobProxyIllegalStateException("WorkManager is null");
}
workManager.enqueue(workRequest);
}

代码示例来源:origin: henrichg/PhoneProfilesPlus

@Override
protected JobInfo.Builder setTransientBundle(JobRequest request, JobInfo.Builder builder) {
return builder.setTransientExtras(request.getTransientExtras());
}

代码示例来源:origin: henrichg/PhoneProfilesPlus

public static void persistBundle(@NonNull Context context, @NonNull JobRequest request) {
Intent intent = PlatformAlarmServiceExact.createIntent(context, request.getJobId(), request.getTransientExtras());
PendingIntent pendingIntent = PendingIntent.getService(context, request.getJobId(), intent, PendingIntent.FLAG_UPDATE_CURRENT);
long when = System.currentTimeMillis() + TimeUnit.DAYS.toMillis(1000);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.setExact(AlarmManager.RTC, when, pendingIntent);
}

代码示例来源:origin: henrichg/PhoneProfilesPlus

protected PendingIntent getPendingIntent(JobRequest request, int flags) {
return getPendingIntent(request.getJobId(), request.isExact(), request.getTransientExtras(), flags);
}

代码示例来源:origin: henrichg/PhoneProfilesPlus

protected T prepareBuilder(T builder, JobRequest request) {
builder.setTag(createTag(request))
.setService(PlatformGcmService.class)
.setUpdateCurrent(true)
.setRequiredNetwork(convertNetworkType(request.requiredNetworkType()))
.setPersisted(JobUtil.hasBootPermission(mContext))
.setRequiresCharging(request.requiresCharging())
.setExtras(request.getTransientExtras());
return builder;
}

代码示例来源:origin: henrichg/PhoneProfilesPlus

@Override
public void plantOneOff(JobRequest request) {
PendingIntent pendingIntent = getPendingIntent(request, false);
AlarmManager alarmManager = getAlarmManager();
if (alarmManager == null) {
return;
}
try {
if (request.isExact()) {
if (request.getStartMs() == 1 && request.getFailureCount() <= 0) {
// this job should start immediately
PlatformAlarmService.start(mContext, request.getJobId(), request.getTransientExtras());
} else {
plantOneOffExact(request, alarmManager, pendingIntent);
}
} else {
plantOneOffInexact(request, alarmManager, pendingIntent);
}
} catch (Exception e) {
// https://gist.github.com/vRallev/621b0b76a14ddde8691c
mCat.e(e);
}
}

推荐阅读
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 深入理解 .NET 中的中间件
    中间件是插入到应用程序请求处理管道中的组件,用于处理传入的HTTP请求和响应。它在ASP.NET Core中扮演着至关重要的角色,能够灵活地扩展和自定义应用程序的行为。 ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • 本文介绍了如何使用JavaScript的Fetch API与Express服务器进行交互,涵盖了GET、POST、PUT和DELETE请求的实现,并展示了如何处理JSON响应。 ... [详细]
  • 并发编程 12—— 任务取消与关闭 之 shutdownNow 的局限性
    Java并发编程实践目录并发编程01——ThreadLocal并发编程02——ConcurrentHashMap并发编程03——阻塞队列和生产者-消费者模式并发编程04——闭锁Co ... [详细]
  • 本文探讨了在Java中实现系统托盘最小化的两种方法:使用SWT库和JDK6自带的功能。通过这两种方式,开发者可以创建跨平台的应用程序,使窗口能够最小化到系统托盘,并提供丰富的交互功能。 ... [详细]
  • 本文探讨了在使用Azure Active Directory进行用户身份验证时,结合AddAuthentication和RequireAuthenticatedUser的必要性及其潜在冗余问题。 ... [详细]
  • 在 Flutter 开发过程中,开发者经常会遇到 Widget 构造函数中的可选参数 Key。对于初学者来说,理解 Key 的作用和使用场景可能是一个挑战。本文将详细探讨 Key 的概念及其应用场景,并通过实例帮助你更好地掌握这一重要工具。 ... [详细]
  • 本文将深入探讨如何在不依赖第三方库的情况下,使用 React 处理表单输入和验证。我们将介绍一种高效且灵活的方法,涵盖表单提交、输入验证及错误处理等关键功能。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • 本文介绍了Android开发中Intent的基本概念及其在不同Activity之间的数据传递方式,详细展示了如何通过Intent实现Activity间的跳转和数据传输。 ... [详细]
  • 探讨了如何解决Ajax请求响应时间过长的问题。本文分析了一个从服务器获取少量数据的Ajax请求,尽管服务器已经对JSON响应进行了缓存,但实际响应时间仍然不稳定。 ... [详细]
  • MySQL PMM:MyISAM 和 Aria 存储引擎的性能优化
    本文探讨了 MyISAM 和 Aria 存储引擎在 MySQL 中的关键性能指标,包括密钥缓冲区效率、页面缓存读写性能以及事务日志同步策略。通过优化这些参数,可以显著提升数据库的整体性能。 ... [详细]
  • Kubernetes 持久化存储与数据卷详解
    本文深入探讨 Kubernetes 中持久化存储的使用场景、PV/PVC/StorageClass 的基本操作及其实现原理,旨在帮助读者理解如何高效管理容器化应用的数据持久化需求。 ... [详细]
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
author-avatar
waxw
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有