使用TelephonyManager.getDefault().getLine1Number();已经不能获得目前移动sim卡的电话号码了,老的sim卡也许可以,现在介绍一种方法,可以获得手机号码
Cursor myCursor =getContentResolver().query(Uri.parse("content://sms"),
new String[]{/*"msg_id", "contact_id", */
"(select address from addr where type = 151) as address"},
null, null , "date desc");
if (myCursor != null){
myCursor.moveToFirst();
Log.d("number", "number="+myCursor.getString(myCursor.getColumnIndex("address")));
tv.setText(myCursor.getString(myCursor.getColumnIndex("address")));
}
只要用户发过短信,变可以通过这个方法获得手机号码!
Cursor myCursor =getContentResolver().query(Uri.parse("content://sms"),
new String[]{/*"msg_id", "contact_id", */
"(select address from addr where type = 151) as address"},
null, null , "date desc");
if (myCursor != null){
myCursor.moveToFirst();
Log.d("number", "number="+myCursor.getString(myCursor.getColumnIndex("address")));
tv.setText(myCursor.getString(myCursor.getColumnIndex("address")));
}
只要用户发过短信,变可以通过这个方法获得手机号码!