簡體   English   中英

為Android Jobscheduler服務生成JobId

[英]Generating JobId for Android Jobscheduler services

我的應用程序中有多個JobServices。 根據Android文檔,每個JobService的JobId必須每個uid唯一。 為了避免沖突,我將唯一的String哈希碼用作JobId。 這也可能導致負面的JobId。 這是生成JobId的正確方法嗎?

好的,做這件事的一種方法,也許是唯一的方法(如果您想要完整的自動數字而不使用以前的數字的arrayList)是使用靜態字段。因此,使用這種技術,您將擁有:

public class MyJobService extends JobService {
    public static int jobIb = 0;
...

    public boolean onStartJob(JobParameters jobParameters) {
        jobIb++;

現在,每次創建工作信息都只需使用:

new JobInfo.Builder(MyJobService.jobIb,componentName).setExtras(bundle).setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY).build()

因此,如果您只有一種JobService類型,更簡單地調用MyJobService.jobIb++;這就是這樣做的方法MyJobService.jobIb++; 在他們的onStartJob上也可以。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM