JobScheduler - How do I determine a unique Job ID?

2020-06-01 01:17发布

问题:

According to the documentation, jobs must have a unique Job ID per uid.
If I use a 3rd party library which also schedules jobs, does this mean I can't use the same Job ID as theirs? If so, how can I avoid these kind of collisions?

回答1:

If I use a 3rd party library which also schedules jobs, does this mean I can't use the same Job ID as theirs?

Correct.

If so, how can I avoid these kind of collisions?

Ask the developer of the library what job IDs they use, or if those job IDs are configurable somehow.



回答2:

If asking the developer of library doesn't work, you may want to calculate md5 on package name and pick last 4 bytes as unique id. The chances of collision will be quite less.