2012-02-17 26 views

Trả lời

7

Ý của bạn là chính xác? Bạn có thể truy cập vào tên theo những cách nhất định:

  1. Bạn có thể thử truy cập vào thông tin của họ được lưu trữ trong tài khoản Google, đòi hỏi sự cho phép GET_ACCOUNTS
  2. Bạn có thể, như Vinayak.B đề nghị, cố gắng lượm lặt thông tin từ các liên hệ, yêu cầu quyền số READ_CONTACTS và sự cho phép READ_PHONE_STATE, mặc dù tôi nghĩ đây là tùy chọn truy cập hoặc bỏ lỡ.
  3. Ngoài ra còn có sự cho phép READ_PROFILE, mà tôi nghĩ là một cách thú vị để đi, nhưng tôi không có bất kỳ kinh nghiệm nào về điều đó, vì vậy tôi không thể nói cho bạn biết đó có phải là một liên doanh hiệu quả hay không.

Tôi sẽ thử tùy chọn GET_ACCOUNTS trước tiên, vì họ phải có tài khoản Google để tải xuống ứng dụng của bạn. Nó cũng có vẻ ít xâm lấn hơn với tôi

Tôi thực sự hy vọng điều này sẽ trả lời câu hỏi của bạn, nhưng nếu không, bạn thực sự cần cung cấp thêm thông tin.

+0

vâng tôi đã suy nghĩ có thể rằng việc sử dụng các tài khoản là cách để đi ... nhưng sẽ không nhiều người dùng gặp khó khăn ở cài đặt một cái gì đó đã truy cập thông tin tài khoản của họ? Tôi có nghĩa là tôi có thể lấy mật khẩu của họ hoặc một cái gì đó như thế với GET_ACCOUNTS? hoặc chỉ là tên và email tôi có thể truy cập với nó? nhưng ngay cả khi lấy mật khẩu là không thể, lá cờ này vẫn có vẻ như nó là có thể và vì vậy tôi nghĩ rằng người dùng có thể viết rất nhiều ý kiến ​​tiêu cực về ứng dụng, không? – ycomp

+2

Khi mọi thứ khác không thành công, hãy giải thích cho các quyền trong mô tả ứng dụng của bạn trên thị trường và cho phép họ quyết định. Cá nhân, tôi đánh giá cao một dev là trung thực và nói "Hãy nhìn xem, các bạn, tôi có một sự cho phép gây tranh cãi, nhưng đây là những gì tôi sử dụng nó cho". – gobernador

+0

tuyệt vời, ý tưởng hay – ycomp

17

Yep, bắt đầu trong ICS bạn có thể đọc thông tin về chủ sở hữu thiết bị (mà đòi hỏi phải có sự cho phép READ_PROFILE):

http://developer.android.com/reference/android/provider/ContactsContract.Profile.html

Cụ cột DISPLAY_NAME nên có tên của họ. Hoặc bạn có thể tìm kiếm các mục dữ liệu StructuredName để có được GIVEN_NAME của họ:

http://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.StructuredName.html

+1

điều cần biết ... khi ICS thực sự trở nên phổ biến, lol) nhưng cảm ơn, nó hữu ích (cuối cùng) – ycomp

+1

@ycomp giờ đây hữu ích vì nó cải thiện trải nghiệm cho người dùng trên các thiết bị đó , nếu không thể sử dụng tính năng này trên các thiết bị cũ thì tính năng này không thể tồn tại ở đó. Chỉ cần sử dụng sự xuống cấp duyên dáng. –

Các vấn đề liên quan