Esh*_*aan 30 android jobservice android-8.0-oreo jobintentservice
我最近正在更新一个应用程序,我使用JobIntentService而不是常规的IntentService处理来自push的通知,因为它似乎是在棒棒糖前设备和帖子上处理此问题的正确方法.我这样排队工作:
JobIntentService
这是清单声明:
IntentService
我从未在onHandleWork中看到任何回调或在我的logcat中看到任何错误日志.是否有人成功整合了这可能有所帮助?
更新:我在api level 21设备上测试了它并且它工作..但它似乎没有在我的android O像素XL设备上调用..任何线索为什么?
更新#2:我似乎也看到了intentservice的onCreate被调用,但没有其他生命周期方法(包括onHandleWork).有人遇到过这个吗?
agi*_*llo 60
从IntentService升级到JobIntentService后,我遇到了同样的问题.确保从旧实现中删除此方法:
@Override
public IBinder onBind(Intent intent) {
return null;
}
Run Code Online (Sandbox Code Playgroud)
对我来说,这解决了这个问题,现在它在奥利奥之前和之后都有效.
我遇到了同样的问题(在预O设备上工作正常,没有任何关于O设备上发生任何事情的迹象).今天,我再次尝试使用与昨天完全相同的代码,现在它可以工作 - 唯一的区别是我在两者之间重新启动了设备.
我目前的理论是我的初始设置不起作用; 我当前的那个,只是重新部署新代码并没有清除JobScheduler中的破坏状态; 重启或卸载/重新安装包.
现在正在运行的设置(从以前的IntentService迁移):
<service
android:name=".MyJobIntentService"
android:exported="false"
android:permission="android.permission.BIND_JOB_SERVICE"/>
Run Code Online (Sandbox Code Playgroud)
并开始
Intent intent = new Intent();
intent.putExtra(EXTRA_NAME, extraValue);
JobIntentService.enqueueWork(context, MyJobIntentService.class, FIXED_JOB_ID, intent);
Run Code Online (Sandbox Code Playgroud)
请注意,intent 不是显式intent(即,未设置ComponentName).
| 归档时间: |
|
| 查看次数: |
14356 次 |
| 最近记录: |