精简版:
问题:我需要几个Android设备才能在同一时间(大约100毫秒内)执行某些操作.例如,我希望所有设备在之前确定的时间点播放某种声音.
问题:我可以使用GPS时间确保设备时钟同步吗?
更长的版本:
几个拥有Android设备的人都在同一个室外位置(某些特定的体育赛事).所有设备应在同一时间发出某些事件的信号.(事先确定什么时间,只要他们同时这样做,他们在那个时间完成它并不重要).FWIW:这些活动将帮助人们同时开展体育活动.
以下是我可以做出的假设:
我无法使用内部时钟知道何时播放事件:用户可以手动更改时间,即使设备设置为从蜂窝网络获取时间,该网络也可能无法提供正确的时间.两个设备可能被预订到不同的网络中,因此它们的时间可能无法很好地同步.
在应用启动时,每个设备都可以要求GPS修复并保存GPS时间与其内部时钟之间的差异.现在,主人可以根据此GPS时间宣布事件(通过使用它的内部时钟并减去之前保存的偏移量).
这是否足够精确可靠?
非常感谢Andreas Leitner
是否可以通过编程方式检查是否在Google Chrome中配置了Chrome同步?
我问的原因是我正在编写一个依赖于Chrome Sync的Chrome扩展程序,并希望检查/通知用户是否未配置.
在发布此问题之前,我检查了显而易见的地方(Chrome Extension API,StackExchange和Google),但到目前为止我还没有运气.
如果有人有想法/解决方案,我会很感激帮助.
干杯.
我正在尝试为客户端HTML/JS模板系统编写一个适配器,以便在引擎盖下使用dust.js.不幸的是,API期望渲染操作同步发生:渲染输出应该从render()调用返回.Dust.js是异步的,并将渲染输出传递给回调函数.有没有办法解决这个问题,无论是在Dust API还是通过一些疯狂的Javascript黑客攻击?
我做一个类似于skype的Android应用程序我想知道的是如何将android联系人与我的应用程序同步,以便在我的应用程序中注册的数字也在我的android联系人中有一个符号.例如,在您的联系人列表中,您会看到skype图标或whatsapp图标,其中包含使用Skype注册的联系人或什么应用程序.任何人都可以指导我做什么.谢谢!
有没有办法在浏览器开发工具中确认特定的ajax请求是异步还是同步,如Chrome Developer Tools或Firebug.
对于ajax请求,HTTP请求标头不指示其同步还是异步.
X-要求 - 由于:XMLHttpRequest的
我正在尝试评估couchdb及其在Android上解决同步问题的潜力,但我找不到任何文档来回答我关于如何复制到Android设备的问题.
看起来焦点todolist couchapp旨在展示我正在寻找的东西.它会自动同步webapp和设备之间的todo吗?
另外,如何将焦点couchapp放到Android设备上?
通过Google Chrome浏览器,您可以使用自己的Google帐户登录以同步书签和设置.然后将这些书签与我的帐户一起存储在他们的服务器上.
我想为书签创建另一个客户端.请注意,我对从硬盘读取本地书签文件不感兴趣.相反,我想直接连接在线服务器.
因此,我需要访问Chrome用于同步的相同API.有没有办法找出如何使用该API?
有很多与之相关的问题,但没有一个能帮助我找到解决方案.
我正在尝试将所有联系人从设备同步到远程服务器,并且能够轻松完成,但是当更新/删除/插入(新联系人)等联系人发生更改时无法找到解决方案.
尝试使用ContentObserver但onChange()被多次调用.很难找到联系人更改数据.
public class ContactService extends Service {
private int mContactCount;
@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
mContactCount = getContactCount();
Log.d("Contact Service", mContactCount + "");
this.getContentResolver().registerContentObserver(
ContactsContract.Contacts.CONTENT_URI, true, mObserver);
}
private int getContactCount() {
Cursor cursor = null;
try {
cursor = getContentResolver().query(
ContactsContract.Contacts.CONTENT_URI, null, null, null,
null);
if (cursor != null) {
return cursor.getCount();
} else {
return 0;
}
} catch (Exception ignore) { …Run Code Online (Sandbox Code Playgroud) Firefox 4将书签和其他设置同步到由mozilla运行的主机.
似乎https://developer.mozilla.org/en/Firefox_Sync应该包含必要的文档,但除了第一个指向空页面之外的所有链接.
我在https://github.com/mozilla/weaveclient-python/blob/master/weave.py找到了一个名为weave.py的脚本,该脚本应该能够访问这些书签,但它无法使用我的凭据.它似乎期望没有"@"字符的用户名.
是否有关于如何访问Firefox同步数据的文档.优选地具有实例.
现在我甚至不知道这个假想的Web服务的切入点.
当我去https://services.mozilla.com/我可以更改我的密码,并可能删除所有内容.
我的SyncAdapter遇到了一些奇怪的行为.
我第一次安装我的应用程序(使用adb卸载后),它会启动并创建一个帐户.根据某些语句的顺序(见下文),我的SyncAdapter onPerformSync()永远不会被调用; 我在"帐户和同步"下的帐户显示"同步进行中"图标无限期地旋转.如果我取消选中我应用帐户旁边的同步复选框,然后重新检查它,我的onPerformSync()会立即被调用.
这导致我的SyncAdapter永远不会被调用."正在进行同步"图标永远旋转,除非我取消选中,然后重新检查同步复选框:
final Account account = new Account(mUsername, getString(R.string.ACCOUNT_TYPE));
mAccountManager.addAccountExplicitly(account, mPassword, null);
ContentResolver.setSyncAutomatically(account, getString(R.string.CONTENT_AUTHORITY), true);
ContentResolver.setIsSyncable(account, getString(R.string.CONTENT_AUTHORITY), 1);
Run Code Online (Sandbox Code Playgroud)
通过对相同语句的这种排序,一切都很完美:
final Account account = new Account(mUsername, getString(R.string.ACCOUNT_TYPE));
ContentResolver.setSyncAutomatically(account, getString(R.string.CONTENT_AUTHORITY), true);
ContentResolver.setIsSyncable(account, getString(R.string.CONTENT_AUTHORITY), 1);
mAccountManager.addAccountExplicitly(account, mPassword, null);
Run Code Online (Sandbox Code Playgroud)
我的猜测是我将SyncManager置于某种不一致的状态,因为它在创建帐户时立即触发了同步请求,而我正在改变它的配置.但是(几乎没有连贯的)文档没有提到任何随时调用这些函数的问题.
对于其他与SyncAdapter斗争的人而言,我发现除非你打电话,否则contentResolver.requestSync()永远不会触发你.SyncAdapter.onPerformSync()ContentResolver.setIsSyncable(account, getString(R.string.CONTENT_AUTHORITY), 1);
有人可以解释这种行为吗?围绕账户和同步的文档至少可以说是不清楚的.
我在2.1仿真器上得到了这种行为,针对2.1 SDK进行了编译.