1

我正在尝试接收设备的电话号码,

tMgr.getLine1Number();

不可靠

现在我正在尝试从 in 或 sent 框中的短信中检索号码

Uri uriSMSURI = Uri.parse("content://sms/sent");
        Cursor cur = ctx.getContentResolver().query(uriSMSURI, null, null, null, null);
        String[] columnNames = cur.getColumnNames();
        if (cur.moveToFirst())
            do {
                Log.d("sms reciever",cur.getString(2));

            } while (cur.moveToNext());
        cur.close();

但是在收件箱第 2 列是发件人,在发件箱中是收件人,有什么想法如何从短信中检索当前手机的号码吗?

4

1 回答 1

1

这必须帮助你

TelephonyManager tMgr =(TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
  mPhoneNumber = tMgr.getLine1Number();

具有 READ_PHONE_STATE 权限。

而且我认为没有最好的方法来做到这一点。因为这取决于某些条件......电话号码可能不会存储在任何地方的 SIM 卡中。您必须要求它的用户输入他/她的号码并存储它。

于 2013-08-03T12:15:14.703 回答