問題タブ [android-syncadapter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - ContentResolver.requestSyncが同期をトリガーしないのはなぜですか?
Google IO (スライド26 )で説明されているように、Content-Provider-Sync Adapterパターンを実装しようとしています。コンテンツプロバイダーは機能しており、Dev Tools Sync Testerアプリケーションからトリガーすると同期が機能しますが、ContentResolverを呼び出すと同期が機能します。 ContentProviderからのrequestSync(account、authority、bundle)、同期がトリガーされることはありません。
編集-マニフェストスニペットを追加しました私のマニフェストxmlには次のものが含まれています:
- 編集
同期サービスに関連付けられているsyncadapter.xmlには、次のものが含まれています。
他にどのようなコードが役立つかわからない。requestSyncに渡されたアカウントは「myaccounttype」であり、呼び出しに渡されたAUTHORITYは私のsycアダプターxmlと一致します。
ContentResolver.requestSyncは同期を要求する正しい方法ですか?同期テスターツールがサービスに直接バインドし、同期の開始を呼び出すように見えますが、同期アーキテクチャと統合する目的が損なわれているようです。
それが同期を要求する正しい方法である場合、なぜ同期テスターは機能しますが、ContentResolver.requestSyncへの呼び出しは機能しませんか?バンドルで渡す必要があるものはありますか?
2.1および2.2を実行しているデバイスのエミュレーターでテストしています。
android - Androidアカウント同期でクラスが見つからないというエラーが表示されます...しかし、表示されるべきではありません
Androidが提供するサンプル同期アプリ(ここにあります)で使用されているコードをコピーしただけです。
だからそれはうまくいくはずです...しかし私がそれを私の電話にインストールすると、私は次のエラーを印刷します:
パッケージにAuthenticatorServiceクラスが見つからないというメッセージが表示されます...Serviceを拡張するAuthenticatorServiceクラスがあります。
そしてここにマニフェストがあります:
サンプルコードから直接。アカウントを機能させる経験のある人はいますか?必要に応じてさらにコードを提供できますが、Androidが提供するサンプルコードから1行ずつ書き直しただけです。これを実行しているデバイスは2.1上にあります。ありがとう!
android - SyncAdapterを使用せずにAndroidにアカウントを実装するにはどうすればよいですか
組み込みのアカウントシステム(AccountManager APIを使用)を利用して、Androidアプリケーションのログインシステムを実装しています。
Android 2.2以降ではすべて問題ありませんが、SyncAdapterが含まれていないAndroid 2.1では、アカウント設定画面で再起動が発生します(http://code.google.com/p/android/issues/detail?id=5009およびAccountManagerを参照)。 SyncAdapterなし?)
これを回避するために、null
から戻るだけのスタブSyncAdapterを実装しIBinder onBind(Intent intent)
、関連するものをマニフェストに追加しました。これにより、Android2.1での再起動の問題が解決されます。
ただし、さらに問題が発生します。アカウントが追加された後、Androidシステムはしばらくしてからアカウントの同期を開始します。エラーは発生しませんが(実際、SyncAdapterは何もしませんが、戻るまでエラーを発生させる方法はありませんnull
)、同期アイコンは上部の通知バーに留まります。これにより、Android同期システムは永続的なウェイクロックを維持し、デバイスがスリープ状態になるのを防ぎます。
アカウントは、アカウント設定画面([データと同期]ヘッダーの下)に同期可能なコンポーネントを一覧表示せず、アカウントのリストの同期ステータスに対して常に[同期はオフ]と表示されます(同期アイコンが通知バー)。アカウントの同期を無効にしても、問題は解決しません。アカウントを削除すると、問題が発生しなくなります。
私の推測では、nullを返すべきではありません。ThreadedSyncAdapterの基本的な実装を返す必要がありますか?2.1および2.2以降で適切に機能する同期が関連付けられていないアカウントシステムを取得するためのヘルプは大歓迎です。
android - 誰かが Android SyncObserver に実装した (または詳細情報を得た) 人はいますか?
サーバーとのバックグラウンド同期を実行する Android のアプリを開発しています (SyncAdapter や認証などを使用)。
フォアグラウンド アプリ (UI 付き) が開始されると、バックグラウンド同期が進行中か、オプションで UI ボタンを介して同期が開始される場合があります。
進行中のバックグラウンド同期 (システムによって開始されたか、定期的な同期設定または UI によって開始されたか) に「プラグイン」し、フォアグラウンド アクティビティで進行状況を表示する方法が必要です。
ContentResolver のドキュメント (http://developer.android.com/reference/android/content/ContentResolver.html) には、javadoc へのリンクがなく、文書化されていない (私が見つけた) 謎の「SyncObserver」について言及されています。
それについて言及している他のページがいくつかあります(http://www.chinaup.org/docs/migrating/m5-0.9/changes/android.content.ContentResolver.html)が、それについて詳しく知ることはできません。
誰かがこの獣を実装しましたか?
そうでない場合、フォアグラウンド アクティビティでのバックグラウンド同期の進行状況を追跡するためのサンプル コードまたは推奨事項はありますか?
android - Sync-adapter と contentAuthority - 定義方法は?
独自のコンテンツ プロバイダーを作成しています。に固有の名前を選択することになっていましたcontentAuthority
。しかし、これを「com.example.something」のような標準的な方法で定義すると、同じ値が同期画面に表示され、それを変換する方法がありません (リソース ID を の値として渡すことはできませんcontentAuthority
)。
android - Androidで同期が自動または手動で開始されたかどうかを理解する方法は?
私SyncAdapter
は自分のアプリケーションで使用します。そのため、同期は自動 ( addPeriodicSync ) または手動 ( requestSync ) で開始できます。
同期の過程で、どのように開始されたかを知るにはどうすればよいですか? 手動で(アプリインターフェイスから)起動する場合は、トーストなどを表示したいので.
android - SyncAdapterとの同期はAndroidでどのように機能しますか?
アドホックで同期を開始する必要がある場合は、を使用しますrequestSync
。setIsSyncable
ただし、として定義すると機能しないようfalse
です。この場合、ユーザーの要求によって同期を開始するにはどうすればよいですか?
さらに、その後、と定義setIsSyncable
しtrue
、開始期間の同期を行うとaddPeriodicSync
、同期が2回開始されます。
android - SyncAdapter が Android で同期を実行するときは?
私のアプリケーションは SyncAdapter 機能を実装していて、定期的な同期を定義していないとしましょう。このようなシナリオでは、いつ同期が行われますか? 最初に考えられるシナリオは、ローカルの ContentProvided/データベース コンテンツの変更です。サーバーの変更について教えてください。SyncAdapter はそれをどのように認識しますか?