Androidで現在のユーザー名と携帯電話番号を取得する方法はありますか?
Androidで現在の電話番号とユーザー名のユーザー情報を取得したい。
どんな体にもコードやアイデアがあります, 助けて..ありがとう..
Androidで現在のユーザー名と携帯電話番号を取得する方法はありますか?
Androidで現在の電話番号とユーザー名のユーザー情報を取得したい。
どんな体にもコードやアイデアがあります, 助けて..ありがとう..
この関数を使用して所有者情報を取得します
public String [] OwnerInfo() {
final AccountManager manager = AccountManager.get(context);
final Account[] accounts = manager.getAccountsByType("com.google");
try{
if (accounts[0].name != null) {
//get the account_name
ownerinfo[0] = accounts[0].name;
ContentResolver cr = context.getContentResolver();
Cursor emailCur = cr.query(
ContactsContract.CommonDataKinds.Email.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Email.DATA + " = ?",
new String[] { ownerinfo[0] }, null);
while (emailCur.moveToNext()) {
//get the id
ownerinfo[1] = emailCur
.getString(emailCur
.getColumnIndex(ContactsContract.CommonDataKinds.Email.CONTACT_ID));
//get the Email
ownerinfo[2] = emailCur
.getString(emailCur
.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
String newName = emailCur
.getString(emailCur
.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
if (ownerinfo[3] == null || newName.length() > ownerinfo[3].length())
//get the Name
ownerinfo[3] = newName;
Log.v("Got contacts", "ID " + ownerinfo[1] + " Email : " + ownerinfo[2]
+ " Name : " + ownerinfo[3]);
}
emailCur.close();
// get the phone number
final TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
ownerinfo[4] = tm.getLine1Number();
if(ownerinfo[4]==null)
{
if (ownerinfo[1] != null) {
// get the phone number
Cursor pCur = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID
+ " = ?", new String[] { ownerinfo[1] }, null);
while (pCur.moveToNext()) {
ownerinfo[4] = pCur
.getString(pCur
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Log.v("Got contacts", "phone" + ownerinfo[4]);
}
pCur.close();
}
}
}
}catch(ArrayIndexOutOfBoundsException e){
Log.d("OwnerInfo","ArrayIndexOutOfBoundsException due to email account not available in your device");
}
return ownerinfo;
}
TelephonyManager を使用して携帯電話番号を取得できます。
TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String number_User = tm.getLine1Number();
また、マニフェスト ファイルにアクセス許可を追加します。
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
そのために、これはあなたを助けるでしょう..
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;
}
TelephonyManager を使用してこれを行うことができます。
TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String number = tm.getLine1Number();
この回答も参照してください。
getLine1Number()のドキュメントには、番号が「利用できない」場合、このメソッドは null を返すと記載されていますが、番号がいつ利用できないかについては記載されていません。
マニフェスト ファイルにアクセス許可を追加する必要があります。
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
所有者名については、こちらを参照してください。