1
私は本当にどこにでも答えが見つかりません。だからここに問題がある。お問い合わせ先(正規化)電話番号
のparams内の電話番号が、私は何のレコードを取得していない「777 777 7777」としてフォーマットされContentResolver resolver = getContentResolver();
String[] columns = new String[]{Phone.CONTACT_ID, Phone.DISPLAY_NAME, Phone.NUMBER };
String where = Phone.NUMBER+"=?";
String[] params = new String[] {"777 777 7777"};
Cursor cursor = resolver.query(Phone.CONTENT_URI, columns, where, params, null);
while (cursor.moveToNext()) { /* So on....*/
。それが "777-777-7777"であるとき、それは記録を得る。さらに悪いことに、TelephonyManager.EXTRA_INCOMING_NUMBERは私に "7777777777"という番号を与えます。この電話番号を問い合わせるにはどうすればよいですか? docsは、Phone.NUMBERはユーザーがそれをどのように入力したかを示しています。まあ、それは私に良いことはありません!
はありがとうございました!私はこれで終わりました: String phoneNumber = "777 777 7777"; \t \t Uri uri = Uri.withAppendedPath(Phone.CONTENT_FILTER_URI、Uri.encode(phoneNumber)); \t \t String [] columns = new String [] {Phone.CONTACT_ID、Phone.DISPLAY_NAME、Phone.NUMBER}; \t \tカーソルcursor = resolver.query(uri、columns、null、null、null); – user123321
お楽しみください:) :) –
ありがとうございます。フォローアップの質問:このクエリーは、エミュレータで4つの連絡先を実行するのに1300ミリ秒かけて非常に遅いです。あなたはそれをスピードアップする方法を知っていますか?私は数百人の連絡先に関心があります。 – user123321