- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 AbstractThreadedSyncAdapter 将我的本地数据库与我的服务器同步。我已经按照找到的指南进行操作,但无法正常工作。适用于 Android 2.2。
我的身份验证器系统正在运行。在我的 AccountAuthenticatorActivity 中,创建帐户后,我执行以下操作:
Bundle params = new Bundle();
params.putBoolean(ContentResolver.SYNC_EXTRAS_EXPEDITED, false);
params.putBoolean(ContentResolver.SYNC_EXTRAS_DO_NOT_RETRY, false);
params.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, false);
ContentResolver.addPeriodicSync(account, "com.syncal.authority", params, 30);
ContentResolver.setSyncAutomatically(account, "com.syncal.authority", true);
ContentResolver.requestSync(account,"com.syncal.authority",params);
我创建了 SyncService 并在我的 list 中声明了它。部分功能:
@Override
public IBinder onBind(Intent intent) {
Log.i(TAG, "inBind() " + intent.getAction());
return getSyncAdapter().getSyncAdapterBinder();
}
private synchronized AbstractThreadedSyncAdapter getSyncAdapter() {
Log.i(TAG, "getSyncAdapter()");
if (mSyncAdapter == null) {
mSyncAdapter = new SweetSyncAdapter(this, true);
}
return mSyncAdapter;
}
然后我实现了我的 SyncAdapter。 onPerformSync 函数是空的,我只想知道它是否被调用,它从未被调用过。
public class SweetSyncAdapter extends AbstractThreadedSyncAdapter {
Context mContext;
private String AUTH_TOKEN_TYPE;
private AccountManager mAccountManager;
private String mAuthToken;
private final String TAG = "SweetContactSync";
static final String LAST_SYNC_KEY = "lastSync";
public SweetSyncAdapter(Context context, boolean autoInitialize) {
super(context, autoInitialize);
Log.i(TAG, "SweetSyncAdapter");
mContext = context;
AUTH_TOKEN_TYPE = mContext.getString(R.string.account_type);
mAccountManager = AccountManager.get(mContext);
}
public interface ISugarRunnable {
public void run() throws URISyntaxException, OperationCanceledException, AuthenticatorException, IOException,
AuthenticationException;
}
class SugarRunnable implements Runnable {
ISugarRunnable r;
Account mAccount;
SyncResult mSyncResult;
public SugarRunnable(Account acc, SyncResult syncResult, ISugarRunnable _r) {
r = _r;
mAccount = acc;
mSyncResult = syncResult;
}
public void run() {
try {
r.run();
} catch ... //All the catchs
}
}
@Override
public void onPerformSync(final Account account, Bundle extras, String authority,
ContentProviderClient provider, SyncResult syncResult) {
Log.i(TAG, "onPerformSync()");
}
}
我的 xml/sync_adapter.xml 有以下代码:
<?xml version="1.0" encoding="utf-8"?>
<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
android:contentAuthority="com.syncal.authority"
android:accountType="com.syncal.account"
/>
这是 list 的服务部分:
<service android:name=".sweet.SweetSyncService" android:exported="true"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.content.SyncAdapter" />
</intent-filter>
<meta-data android:name="android.content.SyncAdapter"
android:resource="@xml/sync_adapter" />
</service>
我什至创建了自己的 ContentProvider(函数是空的,它们只是写在日志中),因为我遵循的指南说它是必需的,我也在 list 中声明了它,但没有调用任何函数。
有人知道为什么我的 onPerformSync 函数没有被调用吗?我的 SweetSyncService 的 onBind 函数被调用并创建了我的 SweetSyncAdapter,但是我的日志从这里开始没有显示任何消息。
感谢阅读,我知道我输入了很多代码,但我已经研究了一段时间,但我无法修复它。
最佳答案
我终于找到了错误。我在我的 list 中添加了一些权限,现在可以使用了:
<uses-permission android:name="android.permission.READ_SYNC_STATS" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
关于android - 使用 AbstractThreadedSyncAdapter 同步 Android 数据库 : onPerformSync isn't called,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11099805/
我已经盯着它看了好几个小时了,想不出解决办法;我通常使用正则表达式处理这种类型的验证,但我正在尝试使用内置解决方案进行更改(显然,我不经常这样做): private static double pro
有什么区别 grep -isn "String\.format" -R . 和 grep -isn String\.format -R . 当我使用后者时,结果包括String format和Stri
我有一部固件为 4.3 的 iPhone 3GS。我下载了 3.1.3 固件,并希望使用 Organizer 恢复 iPhone。但!我收到以下错误: “此设备不符合所请求的版本。” 知道出了什么问题
我创建了一个小界面: import ... abstract class IController { void navigateTo(BuildContext context, String ro
基础this Question我使用扩展方法在 dart 中创建了一个枚举: enum TagVisibility { public, shared, private, } extensi
我在 Play 商店中放置了一个应用程序,我的 friend 正在运行 4.1(Nexus 7),在尝试安装我的应用程序时收到以下消息:“您的设备与此版本不兼容”。这是为什么来的?请任何人帮助我。 M
我在 Play 商店中放置了一个应用程序,我的 friend 在两台设备上运行 4.0.3,在尝试安装我的应用程序时收到以下消息:“您的设备与此版本不兼容”。 一台设备允许安装,另一台不允许。我允许
#!/usr/bin/env perl use warnings; use 5.12.2; my $c = 'f'; # could be a number too if ( $c eq 'd' ||
我正在编写一个Cocoa应用程序,我想实现一个全局热键功能。我实现了 Waffle Software 的 ShortcutRecorder.framework,并向我的 xib 添加了一个 custo
当我在开发该应用程序时,我点击了“运行”,一旦应用程序启动,它就会在打开启动屏幕之前卡住,并向我显示“应用程序没有响应,您想关闭它吗” 对话。!! !我什至没有打开闪屏类。!我在 OnCreate 中
大约 12 小时前,我尝试使用“beautiful jekyll”创建个人博客。 '。我遵循最简单的三步方法来运行一个基本的博客,但是,每次我输入我的网站链接时,我都会得到 There isn't a
我正在解析制表符分隔的文件。有几列没有被识别为数字,即使它们显然是数字。当我尝试总结这些值时,会显示错误:Argument ""97""isn't numeric in addition (+) 并且
我有两个模型:posts 和 likings 它们具有一对多关系(因此,一个帖子有很多喜欢)。 Likings 模型还有一个 isActive 字段,它显示喜欢是主动的还是被动的。 我想获得(排序)获
我的 android 模拟器(没有 play store 的 api 30)不时显示这个错误对话框: 我点击“关闭应用程序”,屏幕瞬间变黑,然后一切恢复正常。 发生这种情况时,我会在 Logcat 中
我正在尝试使用 Electron 构建 Windows 和 Mac OS 应用程序,但遇到了障碍。 简而言之,如果我尝试在 Mac OS Big Sur 上直接使用 Electron 运行应用程序(而
use List::MoreUtils 'uniq'; print join ", ", sort uniq ("b", "a", "a"); 结果参数“a”在排序中不是数字... print joi
background: ShaderMask( shaderCallback: (rect) { return LinearGradient( begin: Ali
我正在尝试创建一个多项选择应用程序来计算正确和错误答案的数量。 一切都呈现良好,但应用程序无法正常工作: 用户的选择并不能定义为正确或错误的答案。 问题不会更改为下一个问题。 我好像在onClick(
我正在开发一个需要帐户链接的 Google 助理应用程序,我已经到了这样的步骤:如果我说“与 [我的应用程序名称] 交谈”,我会取回一张卡片带有文本“Link [my app name] to Goo
编译时出现以下错误: MenuNavigationApp.c:58: error: array type has incomplete element typeMenuNavigationApp.c:
我是一名优秀的程序员,十分优秀!