gpt4 book ai didi

未调用 Android syncadapter onPerformSync

转载 作者:太空狗 更新时间:2023-10-29 15:34:35 27 4
gpt4 key购买 nike

正在尝试为我的内容提供者设置一个同步适配器/服务。内容提供者工作正常,能够毫无问题地存储数据。

我有一个向我的内容解析器注册的内容观察器,并且在数据更改后调用 onChange 方法。

但是,在我调用 observer.onChange 之后,日志中没有任何内容。在 observer.onChange 中,我调用了 contentResolver.requestSync,但未调用同步适配器中的 onPerformSync 方法。

想法?

同步适配器.xml

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

验证器.xml

<account-authenticator
android:label="@string/app_name"
android:smallIcon="@mipmap/ic_launcher"
android:icon="@mipmap/ic_launcher"
android:accountType="....contentproviderexample"
xmlns:android="http://schemas.android.com/apk/res/android"/>

变化观察者:

@Override
public void onChange(boolean selfChange, Uri uri) {
Log.d(PERSON_OBSERVER_TAG, "onChange: Calling requestSync");
contentResolver.requestSync(newAccount, PersonContract.CONTENT_AUTHORITY, Bundle.EMPTY);
}

list :

<service android:name=".datasync.AuthenticatorService">
<intent-filter>
<action android:name="android.accounts.AccountAuthenticator"></action>
</intent-filter>
<meta-data
android:name="android.accounts.AccountAuthenticator"
android:resource="@xml/authenticator"/>
</service>

<service android:name=".datasync.SyncService"
android:exported="true"
android:process=":sync">

<intent-filter>
<action android:name="android.content.SyncAdapter"/>
</intent-filter>
<meta-data
android:name="android.content.SyncAdapter"
android:resource="@xml/syncadapter">

</meta-data>
</service>

最佳答案

由于 SyncService 在其自己的进程中运行,这与您的应用程序不同,如 android:process=":sync"所定义,因此不会显示日志。虽然 SyncAdapter 正在运行。

要查看日志而不是“仅显示选定的应用程序”,请在 logcat 中选择“无过滤器”。

你不必删除 android:process=":sync".

关于未调用 Android syncadapter onPerformSync,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34685069/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com