1.android ͨѶ¼ Դ?讯录?
android ͨѶ¼ Դ??
1. Modify the `getTelClick()` method:
- Change the method name from `getTelClick` to `onGetTelClick` for better readability and adherence to naming conventions.
- Ensure that the method signature is correct and that it is properly calling the new method.
2. Modify the Toast breadcrumb提示:
- Remove the unnecessary string concatenation within the Toast message.
- Use string resources for the Toast message to improve localization support.
3. Modify the method for获取联系人名字:
- Correct the column index for the contact's name to match the correct field from the ContactsContract.
4. Adjust the location slightly:
- Ensure that the code for finding the contact's phone number is inside the correct `if` block to avoid unnecessary queries.
Here is the modified section of the code:
```java
// ... (previous code)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_phone_name);
et = (EditText) this.findViewById(R.id.mobile);
}
public void onGetTelClick(View view) {
String name = et.getText().toString().trim();
getContactNumber(name);
}
/
*** 通过输入的姓名获取电话号码
*/
public void getContactNumber(String name) {
// 使用ContentResolver查找联系人数据
Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
// 遍历查询结果,找到所需号码
while (cursor.moveToNext()) {
// 获取联系人ID
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
// 获取联系人的源码爱普生住宿源码名字
String contactName = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
if (name.equals(contactName)) {
// 使用ContentResolver查找联系人的电话号码
Cursor phone = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", new String[]{ contactId}, null);
if (phone.moveToNext()) {
String phoneNumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Toast.makeText(this, phoneNumber, Toast.LENGTH_SHORT).show(); // Use string resource for the message
Log.d(TAG, "电话:" + phoneNumber);
break;
}
}
}
}
```
Ensure that you have defined a string resource for the Toast message in your `res/values/strings.xml` file, like this:
```xml
电话号码:%1$s
```
And use it in the Toast.makeText method as shown above.