【问题标题】:Android: get user phone number by SMS or Google AccountAndroid:通过短信或谷歌账户获取用户电话号码
【发布时间】:2012-07-09 23:59:28
【问题描述】:

在我的 Android 应用中,我试图获取用户的电话号码。我尝试了 TelephonyManager 解决方案,但在欧洲,90% 的 SIM 卡的该字段为空白,因此该函数返回 NULL。

我想我可以通过搜索已发送的 SMS 或查询 Google 帐户来获取用户的电话号码。对于 SMS 方法,我尝试加载内容提供商 sms/sent,但我可以提取的唯一地址字段是用户向其发送 SMS 的人的电话号码。

对于 Google 帐户,我不知道该怎么做。

【问题讨论】:

  • 听起来不错的方法是尝试一些不同的方法,看看他们是否同意。
  • 一点:我不认为必须有一个谷歌帐户才能使用 Android 手机,所以这不太可能是一个万无一失的方法。
  • 这是对的。我知道在 100% 的情况下我永远无法成功提取用户电话号码。我只是在构建一个尝试尽可能多的方法的函数。实际上,我的功能尝试从 SIM 中提取它,如果它失败了,则可以尝试 SMS 方法,最后机会尝试 Google 帐户方法......这只是为了提高这个目标的成功概率。
  • 在此处查看我的回答,该回答扩展了该主题:stackoverflow.com/questions/10695601/…
  • 嗨亚历克斯,如果你的方法有效 - 你能在这里发布你的代码吗?谢谢!

标签: android sms phone-number


【解决方案1】:
private String getMyPhoneNumber() {
  TelephonyManager mTelephonyMgr;
  mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
  return mTelephonyMgr.getLine1Number();
}

试试这个,我来自波兰,效果很好。

【讨论】:

  • 亲爱的,我在第一行中写道,我已经尝试过这个解决方案,而在我的国家,这返回 NULL,因为 SIM 卡的电话号码字段被提供商设置为 ...
【解决方案2】:

解决办法:manifest的包名是de.org.limindo.limindo2,而apk的包名是de.org.limindo2.....

【讨论】:

    猜你喜欢
    • 2018-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多