I am developing an app for Android and want to read the whatsapp telephone number configured in the client device.
Tried the following code:
AccountManager am = AccountManager.get(this);
Account[] accounts = am.getAccounts();
for (Account ac : accounts) {
String acname = ac.name;
String actype = ac.type;
// Take your time to look at all available accounts
System.out.println("Accounts : " + acname + ", " + actype);
}
if(actype.equals("com.whatsapp")){
String phoneNumber = ac.name;
}
I also set this permission: <uses-permission android:name="android.permission.GET_ACCOUNTS" />
but phoneNumber only returns "Whatsapp"
I need the user's whatsapp phone number as a record in my database. How can I get this phone number?
ppyyxx
Follow these steps:
- You need the
rawcontactid of WhatsApp of that contact. - Query
ContactsContract.Datatable withmimetype = "vnd.android.cursor.item/vnd.com.whatsapp.profile"with thatrawcontactid. - The
DATA3column is the number of WhatsApp.
WhatsApp have updated their process, and they no longer create the account using the phone number as the account name, which is the trick this code relied upon.
I do not believe there is any way to now get hold of the WhatsApp phone number from outside the WhatsApp app.
来源:https://stackoverflow.com/questions/22639640/how-can-i-get-my-whatsapp-number