保证任务执行,即使应用程序或设备重新启动
在实现并测试了它之后,我尝试重新引导我的设备,并注意到日志消息和应用程序通知从未出现。
很自然,我做了一些研究,偶然发现:在android oreo中,设备重新启动后PeriodicWorkRequest无法工作
下面是我如何实现periodicWorkRequest
PeriodicWorkRequest request =
new PeriodicWorkRequest.Builder(LocationListenerWorker.class,
12, HOURS)
.build();
mWorkManager.enqueueUniquePeriodicWork(Constants.LOCATION_TASK_ID,
ExistingPeriodicWorkPolicy.REPLACE, request);
我希望得到任何关于如何确保在运行API24+的设备上重新启动设备时也调用请求的帮助
假设您定义了一个RebootWorker类,该类扩展了Worker并在设备重新启动后执行某些特定的作业。第一种方法:
public class RebootWorker extends Worker {
...............................
}
在这种情况下,在清单中定义了此工作者
<service
android:name=".RebootWorker"
android:process=":worker"/>
这将有助于让Workmanger在设备重新启动后运行worker服务。因为由于设备重新启动,您的应用程序将从任务管理器中清除。
public class MyReceiver extends BroadcastReceiver {
WorkManager mWorkManager;
PeriodicWorkRequest rebootRequest;
@Override
public void onReceive(Context context, Intent intent) {
Log.i(MainActivity.TAG, "intent.getAction(): "+intent.getAction());
//Reboot worker
mWorkManager = WorkManager.getInstance(context);
rebootRequest = new PeriodicWorkRequest.Builder(RebootWorker.class,
MainActivity.REPEAT_INTERVAL, MainActivity.TIME).build();
if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
//do your work and enqueue it
mWorkManager.enqueue(rebootRequest);
}
}
}
我正在尝试从默认的android迁移到AppCompat-22.1中包含的新的android。到目前为止,我只需要导入包就可以使用它。 但我该怎么做呢?例如,更改正/负按钮颜色、标题颜色、消息颜色和背景颜色?
我必须在每节课中不断点击nvm使用v.0.11.13: -
本文向大家介绍在运行时检查设备上的Android版本,包括了在运行时检查设备上的Android版本的使用技巧和注意事项,需要的朋友参考一下 示例 Build.VERSION_CODES 是当前已知的SDK版本代码的枚举。 为了有条件地基于设备的Android版本运行代码,请使用TargetApi注释以避免Lint错误,并在运行特定于API级别的代码之前检查生成版本。 这是在支持低于23的API级别
Android设备是索尼xperia Z,4.3版本。 我想自动化本机计算器应用程序。 代码: 步骤: 1.将设备与系统连接,并使用adb devices命令检查-它显示我的设备已连接。 2.使用命令启动appium:
我有广播接收器 但是服务不启动,当我启动我的设备日志log.d(“test”,“start”);不要显示我如何修复它?
我的应用程序成功地自动启动了一些设备,如索尼Xperia,OnePlus3,Lyf,Micromax。但在小米却没有。然后我在StackOverflow上发现,我必须在小米内置的启动管理器中给我的app赋予自动启动权限。我也这样做过,但我的应用程序不能自动启动。以下是清单文件: