Android携帯の所有者の姓名を取得する方法はありますか? インターネットで検索しましたが、運がありません。Stackoverlowでこの質問に出くわしましたが、これはすべての連絡先の名と姓を取得しています。私が必要とするのは、所有者の名と姓を取得することだけです。
質問する
11252 次
3 に答える
23
これは ICS 以降でのみ利用できると思います - 詳細については、こちらをご覧くださいhttp://android-codelabs.appspot.com/resources/tutorials/contactsprovider/ex1.html
Cursor c = activity.getContentResolver().query(ContactsContract.Profile.CONTENT_URI, null, null, null, null);
int count = c.getCount();
String[] columnNames = c.getColumnNames();
boolean b = c.moveToFirst();
int position = c.getPosition();
if (count == 1 && position == 0) {
for (int j = 0; j < columnNames.length; j++) {
String columnName = columnNames[j];
String columnValue = c.getString(c.getColumnIndex(columnName)));
...
//Use the values
}
}
c.close();
Android には、デバイスの所有者を表す個人プロファイルが含まれています。このプロファイルは "Me" プロファイルと呼ばれ、ContactsContract.Profile
テーブルに格納されます。ユーザーのプロファイルからデータを読み取ることができます。
AndroidManifest.xml に READ_PROFILE および READ_CONTACTS 権限を追加します。
最も関連性の高いフィールドは、Contact の DISPLAY_NAME 列であり、おそらく StructuredName フィールドです。
于 2012-10-30T10:16:24.880 に答える
3
これを試して:
final AccountManager manager = AccountManager.get(this);
final Account[] accounts = manager.getAccountsByType("com.google");
final int size = accounts.length;
String[] names = new String[size];
for (int i = 0; i < size; i++) {
names[i] = accounts[i].name;
}
于 2012-10-26T10:07:04.223 に答える
3
私はこのことを検索して、あなたに役立つことを願っています.
于 2012-11-05T08:19:40.000 に答える