/ / हाइफ़न एक आंशिक फोन नंबर के साथ संपर्क विवरण प्राप्त करने में एक समस्या है - एंड्रॉइड, संपर्क, एंड्रॉइड-कंटेंटप्रूडर

हाइफ़न आंशिक फोन नंबर - एंड्रॉइड, संपर्क, एंड्रॉइड-कंटेंटप्रोवाइडर के साथ संपर्क विवरण प्राप्त करने में एक समस्या है

मैं एक फोन नंबर के हिस्से के साथ सभी संपर्क पाने के लिए एक समारोह है, यहाँ ...

Cursor c = getContentResolver().query(Data.CONTENT_URI,
new String[] {Data._ID, Phone.NUMBER},
Phone.NUMBER + " like ?",
new String[] {"%"+String.valueOf(phoneNumber) +"%"}, null);
while (c.moveToNext()) {
String id = c.getString(0);
String number = c.getString(1);
Log.d("id",id);
Log.d("number",number);
}

लेकिन समस्या यह है - अगर मैं सम्मिलित करता हूँ 31221 मैं "जैसे फोन नंबर के साथ संपर्क प्राप्त नहीं कर सकता हूं।" 312-2131-321 वजह से "-" या अगर मैं सम्मिलित करता हूँ 0558836298 मैं नहीं कर सकता +62558836298 की वजह से "+" और देश कोड। सहायता के लिए धन्यवाद

PS मुझे इसके बारे में पता है

Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number));

लेकिन यह तभी काम करता है जब आप पूरी संख्या डालते हैं।

उत्तर:

जवाब के लिए 2 № 1

कृपया इसे बदलने का प्रयास करें:

Phone.NUMBER

इसके साथ:

"replace("+Phone.NUMBER+", "-","")"

यह सम्मोहन को हटाने के लिए SQLite से प्रतिस्थापित कार्य का उपयोग कर रहा है