4

この問題は、Android バージョン 4.0.3 で発生します。Android Contacts 2.0 API を使用して、カスタム RawContacts.ACCOUNT_TYPE で連絡先を追加しています。2 番目のステップとして、Intent.ACTION_EDIT を使用して、次のコードを使用してこれらの連絡先を編集します。

Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setData(contactUri);
startActivityForResult(intent, EDIT_CONTACT_RESULT);

インテントは、android 組み込みの連絡先編集アクティビティを開きます。しかし、完了を押すと、現在編集されている連絡先の連絡先ビュー アクティビティに転送されます。次に戻るボタンを押すと、アプリケーションに戻ります。問題はその onActivityResult(); です。常に結果コードとして RESULT_CANCELED を返します。この問題を解決する方法はありますか?

ありがとう。

4

3 に答える 3

0

残念ながら、多くのメーカーが SDK を微調整しており、多くのアプリがこれを適切に実装できて"Android Pattern"いません。適切なRESTULT_CODE. Facebook、などのアプリケーションでも同様の動作が多数発生しましたがTwitter、ユーザーがアクションを共有/キャンセルした場合でも、適切な結果コードを返すことができません。

あなたのコードに問題があるとは思いませんが、起動しているアプリケーションに問題があり、適切な結果を返すことができない可能性が非常に高いです。

于 2012-05-30T20:26:04.073 に答える
0

これは、「標準の Android」(JB、Galaxy Nexus) でも発生します。それを回避する唯一の方法は、結果コードを無視し、それに関係なく連絡先を再度読み取ることです (インテント データも null になることに注意してください。そのため、編集アクティビティを開くときに使用した連絡先 Uri を使用する必要があります)。 )。

于 2012-08-08T18:12:35.003 に答える