我司开发一上报埋点的sdk,但是总是会崩溃,所以使用了JobScheduler+JobService进行拉活。
这个本来是控制版本在5.0以上的,也没有4.+的设备,但就有客户在4.+上边使用了,就直接崩溃,报的NoClassDefFoundError。
此处可对版本进行限制:
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { Log.i(TAG, "SKD版本过低,不支持JobScheduler"); return; }
一定要在
JobScheduler mJobScheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
之前进行拦截。
其他版本可使用其他一些形式进行拉活保活方案,多种方案结合即可。