2

始める前に、コードで非推奨のAPI呼び出しを使用して連絡先を管理していることを知っています。これは、既存のライブラリにあまり多くの変更を加えることなく拡張しようとしているためです。私はそれを変更してもかまいませんが、そこにはあまりにも多くのものがあり、私はアイデアを実験しているだけで、フレームワーク全体をもう一度書きたくありません。

さて、質問に来て、連絡先を更新しようとしていますが、今のところどこにも行きません。連絡先を作成および削除できます。それらはすべてエミュレーターで動作します。私は実際に違法な引数の例外を受け取っています:しかし、更新しようとすると空の値のメッセージが表示されます。関連するコードは以下のとおりです。

Uri uri = Uri.parse(fullUri);
ContentValues updateValues = new ContentValues();
// updateValues.put(Contacts.People.DISPLAY_NAME, value);
updateValues.put(Contacts.People.NAME, value);
contentResolver.update(uri, updateValues, null, null);

以下は私のスタックトレースです

12-30 00:45:05.819: RpcServer:101(2592): java.lang.IllegalArgumentException: Empty values
12-30 00:45:05.819: RpcServer:101(2592):    at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:170)
12-30 00:45:05.819: RpcServer:101(2592):    at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:140)
12-30 00:45:05.819: RpcServer:101(2592):    at android.content.ContentProviderProxy.update(ContentProviderNative.java:507)
12-30 00:45:05.819: RpcServer:101(2592):    at android.content.ContentResolver.update(ContentResolver.java:990)
12-30 00:45:05.819: RpcServer:101(2592):    at com.fun.rpc.SimpleServer$ConnectionThread.run(SimpleServer.java:91)

誰かが以前にこの問題を見たことがありますか?where句の一部としてIDを送信しようとしましたが、どちらも機能しませんでした。また、電子メールアドレスを更新しようとしても、コードはエラーをスローしませんが、連絡先の電子メールアドレスは更新されません。しかし、名前を更新しようとすると、上記のようなエラーが発生します。ヒントやアイデアはありますか?さらに情報が必要な場合はお知らせください。

乾杯

4

1 に答える 1