Android 同步适配器未触发我的活动

Android 同步适配器未触发我的活动,android,android-syncadapter,Android,Android Syncadapter,我已经在我的应用程序中使用了同步适配器来自动更新数据库内容,但它不起作用,甚至我也无法收到任何日志消息 这是我的同步适配器类 public class SynAdapter extends AbstractThreadedSyncAdapter { private ContentResolver mResolver; private Context mcontext; public SynAdapter(Context context, boolean autoIn

我已经在我的应用程序中使用了同步适配器来自动更新数据库内容,但它不起作用,甚至我也无法收到任何日志消息

这是我的同步适配器类

 public class SynAdapter extends AbstractThreadedSyncAdapter {

    private ContentResolver mResolver;
    private Context mcontext;

    public SynAdapter(Context context, boolean autoInitialize) {
        super(context, autoInitialize);
        // TODO Auto-generated constructor stub

        this.mcontext = context;

    }

    @Override
    public void onPerformSync(Account account, Bundle extras, String authority,
            ContentProviderClient provider, SyncResult syncResult) {
        // TODO Auto-generated method stub
        Log.d("onperfor", "onPerfoem");
        final SyncLoader mLoader = new SyncLoader(mcontext);
        mResolver = mcontext.getContentResolver();
        mLoader.onContentChanged();

    }
这是我的同步类但不幸的是我不能验证这个类的oncreate方法

public class SyncService extends Service {

    private static SynAdapter sSyncAdapter = null;
    // Object to use as a thread-safe lock
    private static final Object sSyncAdapterLock = new Object();
    private static final Context context = null;

    public SyncService() {
        super(null, null, null, null, null, null);
        // TODO Auto-generated constructor stub
    }

    public void onCreate() {
        /*
         * Create the sync adapter as a singleton. Set the sync adapter as
         * syncable Disallow parallel syncs
         */

        Log.d("Sync service", "service");

        Log.d("Sync service", "service");

        sSyncAdapter = new SynAdapter(context, true);

    }

    public IBinder onBind(Intent intent) {
        /*
         * Get the object that allows external processes to call
         * onPerformSync(). The object is created in the base class code when
         * the SyncAdapter constructors call super()
         */
        return sSyncAdapter.getSyncAdapterBinder();
    }
下面是我的loader类,用于调用web url

public class SyncLoader extends AsyncTaskLoader<String> {

    private Context context;
    private String value;

    public SyncLoader(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
        this.context = context;

    }

    @Override
    public String loadInBackground() {
        // TODO Auto-generated method stub

        JSONObject json = Getjsonurl.getJsonUrl(Utility.gBasepath
                + "getGocashNotifications/" + Session.getUserId(context),
                context);

        Log.d("json", "---->" + json);

        value = String.valueOf(json);

        Toast.makeText(context, String.valueOf(json), Toast.LENGTH_SHORT)
                .show();

        return value;
    }

    @Override
    public void onContentChanged() {
        // TODO Auto-generated method stub
        super.onContentChanged();
        loadInBackground();
    }
公共类SyncLoader扩展了AsyncTaskLoader{
私人语境;
私有字符串值;
公共同步加载器(上下文){
超级(上下文);
//TODO自动生成的构造函数存根
this.context=上下文;
}
@凌驾
公共字符串loadInBackground(){
//TODO自动生成的方法存根
JSONObject json=Getjsonurl.Getjsonurl(Utility.gBasepath
+“getGocashNotifications/”+会话.getUserId(上下文),
上下文);
Log.d(“json”、“--->”+json);
value=String.valueOf(json);
Toast.makeText(context、String.valueOf(json)、Toast.LENGTH\u SHORT)
.show();
返回值;
}
@凌驾
内容更改时的公共无效(){
//TODO自动生成的方法存根
super.onContentChanged();
加载背景();
}
我的舱单

<service
            android:name="com.example.app.SyncService"
            android:exported="true" >
            <intent-filter>
                <action android:name="android.content.SyncAdapter" />
            </intent-filter>

            <meta-data
                android:name="android.content.SyncAdapter"
                android:resource="@xml/sync_myapp" />
        </service>

还有我的Xml代码

<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
    android:accountType="com.android.example.datasync"
    android:allowParallelSyncs="false"
    android:contentAuthority="com.example.android.datasync.provider"
    android:isAlwaysSyncable="true"
    android:supportsUploading="false"
    android:userVisible="false" />


请检查我的代码并给出建议以获得解决方案,谢谢。同步适配器框架要求每个同步适配器都有一个帐户类型。

我需要在没有帐户管理器的情况下实现同步适配器。谢谢您的回答。!您是否有任何其他相关链接。我已经提到了,但不清楚如何实现在我看来,官方演示是最好的例子。