मैं एक फोन नंबर के हिस्से के साथ सभी संपर्क पाने के लिए एक समारोह है, यहाँ ...
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 से प्रतिस्थापित कार्य का उपयोग कर रहा है