1

我可以通過點擊按鈕獲取聯繫人電話號碼,然後將其傳送到EditText,但我只想得到沒有國家代碼的結果。例如:+33 xx xx xx xxx becomes xx xx xx xxx從聯繫人中挑選一個號碼,但刪除國家代碼

有沒有辦法實現這個目標? 下面的代碼我用得到的數量並把它放在一個EditText:

按鈕點擊:

Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI); 
intent.setType(CommonDataKinds.Phone.CONTENT_TYPE); 
startActivityForResult(intent, 1); 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if ((requestCode == 1) && (resultCode == RESULT_OK)) { 
     Cursor cursor = null; 
     try { 
      Uri uri = data.getData(); 
      cursor = getContentResolver().query(uri, new String[] { CommonDataKinds.Phone.NUMBER }, null, null, null); 
      if (cursor != null && cursor.moveToNext()) { 
       String phone = cursor.getString(0); 
       editText.setText(phone); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

回答

0

嘗試使用的replaceAll。例如: String phone = cursor.getString(0); phone = phone.replaceAll("+33", ""); editText.setText(phone);

+0

感謝您的回答,但它不起作用。 –

1

使用Google的libphonenumber庫。不要嘗試創建自己的邏輯,因爲格式因地點而異。

+0

任何與我的案例匹配的代碼示例? –

相關問題