热门标签 | 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);
}
}

推荐阅读
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 预备知识可参考我整理的博客Windows编程之线程:https:www.cnblogs.comZhuSenlinp16662075.htmlWindows编程之线程同步:https ... [详细]
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社区 版权所有