Android编程,根据姓名获得手机通讯录中的电话号码

Android编程,根据姓名获得手机通讯录中的电话号码,第1张

import cnteachcourseR;

/

  Created by postmaster@teachcoursecn on 2016/5/5

 /

public class PhoneNameActivity extends ActionBarActivity {

    private static final String TAG = PhoneNameActivityclassgetSimpleName();

    private EditText et;

    public static void start(Context context) {

        start(context, null);

    }

    public static void start(Context context, Intent extras) {

        Intent intent = new Intent();

        intentsetClass(context, PhoneNameActivityclass);

        intentaddFlags(IntentFLAG_ACTIVITY_CLEAR_TOP

                | IntentFLAG_ACTIVITY_SINGLE_TOP);

        if (extras != null) {

            intentputExtras(extras);

        }

        contextstartActivity(intent);

    }

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        superonCreate(savedInstanceState);

        setContentView(Rlayoutactivity_phone_name);

        et = (EditText) thisfindViewById(Ridmobile);

    }

    public void getTelClick(View view) {

        String name = etgetText()toString()trim();

        number(name);

    }

    /

      通过输入获取电话号码

     /

    public void number(String name) {

        //使用ContentResolver查找联系人数据

        Cursor cursor = getContentResolver()query(ContactsContractContactsCONTENT_URI, null, null, null, null);

        //遍历查询结果,找到所需号码

        while (cursormoveToNext()) {

            //获取联系人ID

            String contactId = cursorgetString(cursorgetColumnIndex(ContactsContractContacts_ID));

            //获取联系人的名字

            String contactName = cursorgetString(cursorgetColumnIndex(ContactsContractCommonDataKindsPhoneDISPLAY_NAME));

            if (nameequals(contactName)) {

                //使用ContentResolver查找联系人的电话号码

                Cursor phone = getContentResolver()query(ContactsContractCommonDataKindsPhoneCONTENT_URI, null, ContactsContractCommonDataKindsPhoneCONTACT_ID + " = " + contactId, null, null);

                if (phonemoveToNext()) {

                    String phoneNumber = phonegetString(phonegetColumnIndex(ContactsContractCommonDataKindsPhoneNUMBER));

                    ToastmakeText(this, phoneNumber+"TeachCourse——blog。。。", ToastLENGTH_SHORT)show();

                    Logd(TAG, "电话:" + phoneNumber);

                    break;

                }

            }

        }

    }

}

1、修改getTelClick()方法

2、修改Toast面包屑提示

3、修改获取联系人名字方法

4、位置稍微调整

导包如下(导入的包中包含了微信和支付宝接口的,还有可能会有一些无用包,因为我是直接把我写的接口拿出来了,这个控制器里面还有其他接口,就不粘了):

其中UserWxSecretInfoSearch是一个我自己定义的接收类,我也贴出来:

UserWxSecretInfoDTO也是我自己定义的一个接收类,如下:

微信我是直接参考的下面的链接:

>

那是你没受权小程序应用权限导致的,系统无法检测你的登录信息,请重新受权即可。

需要将 <button> 组件 open-type 的值设置为 getPhoneNumber。用户点击后会d出一个授权d窗让用户确认(若该用户账户未绑定手机号码会执行一次绑定手机号码的流程;授权d窗每次使用都会d出)。

用户同意后,开发者可以通过 bindgetphonenumber 事件回调获取到一个加密数据,开发者可以把该数据传回到自己的服务端进行解密获取手机号。

安全管理:

2018年12月27日,腾讯公司发布《腾讯隐私保护白皮书》,倡导“科技向善,数据有度”的隐私保护理念。在微信小程序的《服务条款》、《运营规范》中,分别设有“用户个人信息保护”和“用户隐私及数据规范”专章介绍。

微信小程序在产品功能设计上给用户更多控制力。在微信小程序的设置页,为用户提供了数据权限开关,一旦用户授权之后又关闭,微信小程序再次使用该用户数据时需要重新获得授权,为用户提供更方便的数据控制权。用户在微信小程序的资料页还可以看到隐私数据保护的提示以及投诉入口。

对于第一次实现小程序获取用户手机号、用户信息功能的程序猿来说,有一个着手的思路可以事半功倍。本文可以给你提供这个思路,助你快速准确完成需求。

调用wxlogin,在成功回调中,拿自己小程序的appId、secret请求接口 url: ' >

要想获取本机号码的方式如下:

1、使用本机拨打其他手机,然后在其他手机上就会显示你的号码了;

2、如果手机停机,那么就得拨打客服电话人工台查询本机号码,移动拨打10086,联通拨打10010,电信拨打10000,可能需要提供身份z或者服务密码;

3、移动用户可以发送401到10086,系统会下发关于本机的一些套餐信息到用户手机上,里面就包含有用户的手机号码。

4、通过手机“设置”功能查看。

在设置里拉到最下面,一般都会有一个“关于手机”等类似信息的选项;

在关于手机里会有“状态消息”或者设备信息等文字意思类似的选项;

选择后就会显示此卡的附加状态信息,里面就会有“本机号码”等信息了。

这个方法是从SIM中读取手机号码,但是并不是所有的SIM中都有写手机号码。应该说大部分的都没有。如果你手机设置中的“关于手机”能取到手机号,那么这个方法也肯定取不到。

现在一般通过运营商接口、发送短信等方式获取手机号码

以上就是关于Android编程,根据姓名获得手机通讯录中的电话号码全部的内容,包括:Android编程,根据姓名获得手机通讯录中的电话号码、微信支付宝解析用户绑定的敏感数据(手机号码)、微信小程序获取用户信息失败等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9626847.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存