新しい Google API を使用して連絡先を削除すると、問題が発生しました
以下は唯一の応答です:
同期プロセスを実行する必要があるため、完全に削除されるよりも、Google コンタクトで更新されます。削除済みフラグの確認
では、Google コンタクトで更新する同期プロセスを実行するにはどうすればよいでしょうか?
新しい Google API を使用して連絡先を削除すると、問題が発生しました
以下は唯一の応答です:
同期プロセスを実行する必要があるため、完全に削除されるよりも、Google コンタクトで更新されます。削除済みフラグの確認
では、Google コンタクトで更新する同期プロセスを実行するにはどうすればよいでしょうか?
この方法で問題を解決できます。ただし、アカウントを設定している必要があります。
private void requestSync()
{
AccountManager am = AccountManager.get(this);
Account[] accounts = am.getAccounts();
for (Account account : accounts)
{
int isSyncable = ContentResolver.getIsSyncable(account, ContactsContract.AUTHORITY);
if (isSyncable > 0)
{
Bundle extras = new Bundle();
extras.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true);
ContentResolver.requestSync(accounts[0], ContactsContract.AUTHORITY, extras);
}
}
}
自分の連絡先、つまり連絡先プロバイダーに入力したものを削除しようとしている場合、自分のサーバーと同期するまで削除されません。サーバーは行を完全に削除する必要があります。連絡先プロバイダーは、サーバー バージョンとクライアント バージョンの両方の行が同時に削除されるように、これを行うように設計されています。
元の質問に対するあなたの回答は間違っていました。Google コンタクトと同期していません。独自のサーバーとの同期のみを制御します。Google コンタクト サーバーには、ユーザーが Google コンタクトとの同期を選択した場合にアクティブになる独自の同期アダプターがあります。
Google コンタクトと同期されているものを削除すると、次の同期まで「非表示」のままになり、その時点で完全に削除されます。連絡先プロバイダーは、そのものが存在しないかのように自動的に動作します。これが表示されている場合は、連絡先プロバイダーで間違った操作を行っていることを意味します。表示されている連絡先に、正しく削除されていない行が添付されている可能性があります。