代码之家  ›  专栏  ›  技术社区  ›  learner

在api 11之前使用AbstractThreadSyncAdapter

  •  0
  • learner  · 技术社区  · 10 年前

    如何将AbstractThreadSyncAdapter用于低于API-11的minSDK?以下构造函数抱怨需要API-11。

    public DogSyncAdapter(Context context, boolean autoInitialize, boolean allowParallelSyncs) {
        super(context, autoInitialize, allowParallelSyncs);
      }
    
    1 回复  |  直到 10 年前
        1
  •  0
  •   alorma    10 年前

    正如文档中所说:

    Api 5级:

    public AbstractThreadedSyncAdapter (Context context, boolean autoInitialize)
    

    Api 11级:

    public AbstractThreadedSyncAdapter (Context context, boolean autoInitialize, boolean allowParallelSyncs)
    

    因此,您只需要实现两个构造函数,然后调用其中一个或另一个:

    if (sSyncAdapter == null) {
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
                        sSyncAdapter = new NotificationsSyncAdapter(getApplicationContext(), true, true);
                    } else {
                        sSyncAdapter = new NotificationsSyncAdapter(getApplicationContext(), true);
                    }
                }