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、位置稍微调整

现在大多数安卓应用都会读取你的联系人、位置等权限。虽然安卓系统可以禁止这些应用读取关键权限,但有的应用不开放相关权限的话就无法启动,非常令人头疼。那么这些应用取得这些权限究竟有什么用呢?目前应用经常用到的权限有以下几种:

一、联系人这是最普遍的,几乎所有安卓应用都会读取你的通讯录联系人。从功能上来讲,读取联系人可以判断你的亲朋好友中有没有人使用同样的应用。比如微信的“添加朋友”里面有一个“手机联系人”,就需要用到手机通讯录的权限。

通过这个权限可以看到你的通讯录中有谁也在用微信,方便添加好友。当然,通讯录属于比较敏感的权限,正规的应用如果你不给它这个权限也能够正常使用,只不过类似查找通讯录好友的功能就用无法开启了。

二、位置几乎所有的手机应用APP都会要求获取你的位置,因为只有知道你的位置才能够确定你是哪里人,需要什么生活服务。比如天气、外卖、叫车、本地新闻等功能,没有位置权限根本无法正常工作。如果你把微信的位置权限给关闭了,它就会拒绝启动。

另外手机的一些关键功能也许要位置全新,比如苹果的“查找我的iPhone”就是通过定位来实现的,如果关闭了位置功能,就无法定位手机的位置,手机丢失了也就无法再找回来了。

三、读取和发送短信和短信相关的权限就比较敏感了,因为短信中包含了很多隐私内容,比如银行的帐号、验证码甚至密码等。如果泄露了这些关键短信内容,后果不堪设想。

而如果给予应用发送短信的权限,一些不正规的应用就有可能会在后台偷偷发送一些订购收费服务的短信,比如彩铃、游戏虚拟道具等。甚至可以在不知不觉中吸干用户的话费。所以一般情况下应该禁止应用读取和发送短信。

当然,让应用读取短信也有一个好处,就是当接受验证码的时候,应用可以自动读取验证码中的内容,省的用户再手动填写验证码。这一功能在手机支付等需要验证码的场合比较方便。

四、手机识别码这个权限几乎所有的应用都会用到,手机识别码可以帮助应用确定你使用的是什么型号的手机,这对于用户来说基本上没有什么用。但对于应用开发者却十分有帮助,它可以帮助应用开发者统计使用这款应用的手机型号有哪些,有时候可以针对一些热门手机开发专门的功能。

比如iPhone

6s之后的苹果手机都配备了压感屏幕,一些应用就可以针对这种屏幕设计快捷菜单,并且根据手机识别码来判断,如果是iPhone

6s之后的手机,就可以启动压感屏幕的功能。

五、摄像头很多用户觉得摄像头功能十分敏感,担心应用拥有摄像头权限之后会泄露隐私。但是现在很多应用都有扫一扫功能,如果不给它摄像头权限,那么扫一扫就无法正常使用了。当然如果一款应用不具备任何扫码和拍照功能,却要求摄像头权限,这个时候就需要注意了。

六、读写存储空间这应该是比较基本的权限了,因为如果无法读写存储空间的话,应用就无法往手机中增加内容,比如下载和保存、视频什么的。游戏也许要通过写入存储空间来完成版本更新。几乎所有的应用都会用到读写存储空间的权限。

总结现在很多手机应用都要求各种各样的权限,其中以联系人、短信、位置和手机识别码最为普遍,一方面是因为这几个权限的确是最常用到的。另一方,很多软件公司也在手机这些和用户隐私擦边的敏感数据,然后通过“大数据”、“云计算”等方式,来判断用户的喜好,并推送相关的广告内容。

比如用户在手机浏览器中搜索某款3C产品的信息,随后打开某东、某宝的应用之后,有很大机率能够看到相关3C产品的广告。这就是因为购物应用读取了用户的浏览器搜索记录,然后自动判断用户对这些产品有需求,从而开始有针对性的推送相关的广告。

尽管这些功能会让人产生隐私被窥探的感觉,但对于人们的日常生活其实也是有一定帮助的。不过有一定需要注意的是,在安装一些来历不明的应用时一定要注意避免开放关键权限,比如短信的读取和发送、相册的读取等。现在国产手机的系统也都做的十分人性化,在应用使用关键权限的时候都会有d窗提示,尽可能的保护了用户的隐私不被泄露。

android读写联系人,读和写权限:

<uses-permission android:name="androidpermissionREAD_CONTACTS" />

<uses-permission android:name="androidpermissionWRITE_CONTACTS" />

android权限系统非常庞大,在android系统中做任何 *** 作都需要首先获取android系统权限,以下是android权限大全:

访问网络

androidpermissionINTERNET,访问网络连接,可能产生GPRS流量

androidpermissionCHANGE_WIFI_STATE Wifi 改变状态

androidpermissionACCESS_WIFI_STATE WiFi 状态

androidpermissionACCESS_NETWORK_STATE 网络状态

录制视频

androidpermissionCAMERA

androidpermissionRECORD_AUDIO

androidpermissionWRITE_EXTERNAL_STORAGE

底层访问权限

androidpermissionCWJ_GROUP,允许CWJ账户组访问底层信息

手机优化大师扩展权限

androidpermissionCELL_PHONE_MASTER_EX,手机优化大师扩展权限

控制定位更新

androidpermissionCONTROL_LOCATION_UPDATES,允许获得移动网络定位信息改变

删除缓存文件

androidpermissionDELETE_CACHE_FILES,允许应用删除缓存文件

删除应用

androidpermissionDELETE_PACKAGES,允许程序删除应用

电源管理

androidpermissionDEVICE_POWER,允许访问底层电源管理

应用诊断

androidpermissionDIAGNOSTIC,允许程序到RW到诊断资源

禁用键盘锁

androidpermissionDISABLE_KEYGUARD,允许程序禁用键盘锁

转存系统信息

androidpermissionDUMP,允许程序获取系统dump信息从系统服务

状态栏控制

androidpermissionEXPAND_STATUS_BAR,允许程序扩展或收缩状态栏

工厂测试模式

androidpermissionFACTORY_TEST,允许程序运行工厂测试模式

使用闪光灯

androidpermissionFLASHLIGHT,允许访问闪光灯

强制后退

androidpermissionFORCE_BACK,允许程序强制使用back后退按键,无论Activity是否在顶层

访问账户Gmail列表

androidpermissionGET_ACCOUNTS,访问GMail账户列表

获取应用大小

androidpermissionGET_PACKAGE_SIZE,获取应用的文件大小

获取任务信息

androidpermissionGET_TASKS,允许程序获取当前或最近运行的应用

允许全局搜索

androidpermissionGLOBAL_SEARCH,允许程序使用全局搜索功能

硬件测试

androidpermissionHARDWARE_TEST,访问硬件辅助设备,用于硬件测试

注射事件

androidpermissionINJECT_EVENTS,允许访问本程序的底层事件,获取按键、轨迹球的事件流

安装定位提供

androidpermissionINSTALL_LOCATION_PROVIDER,安装定位提供

安装应用程序

androidpermissionINSTALL_PACKAGES,允许程序安装应用

内部系统窗口

androidpermissionINTERNAL_SYSTEM_WINDOW,允许程序打开内部窗口,不对第三方应用程序开放此权限

结束后台进程

androidpermissionKILL_BACKGROUND_PROCESSES,允许程序调用killBackgroundProcesses(String)方法结束后台进程

管理账户

androidpermissionMANAGE_ACCOUNTS,允许程序管理AccountManager中的账户列表

管理程序引用

androidpermissionMANAGE_APP_TOKENS,管理创建、摧毁、Z轴顺序,仅用于系统

高级权限

androidpermissionMTWEAK_USER,允许mTweak用户访问高级系统权限

社区权限

androidpermissionMTWEAK_FORUM,允许使用mTweak社区权限

软格式化

androidpermissionMASTER_CLEAR,允许程序执行软格式化,删除系统配置信息

修改声音设置

androidpermissionMODIFY_AUDIO_SETTINGS,修改声音设置信息

修改电话状态

androidpermissionMODIFY_PHONE_STATE,修改电话状态,如飞行模式,但不包含替换系统拨号器界面

格式化文件系统

androidpermissionMOUNT_FORMAT_FILESYSTEMS,格式化可移动文件系统,比如格式化清空SD卡

挂载文件系统

androidpermissionMOUNT_UNMOUNT_FILESYSTEMS,挂载、反挂载外部文件系统

允许NFC通讯

androidpermissionNFC,允许程序执行NFC近距离通讯 *** 作,用于移动支持

永久Activity

androidpermissionPERSISTENT_ACTIVITY,创建一个永久的Activity,该功能标记为将来将被移除

处理拨出电话

androidpermissionPROCESS_OUTGOING_CALLS,允许程序监视,修改或放弃播出电话

读取日程提醒

androidpermissionREAD_CALENDAR,允许程序读取用户的日程信息

读取联系人

androidpermissionREAD_CONTACTS,允许应用访问联系人通讯录信息

屏幕截图

androidpermissionREAD_FRAME_BUFFER,读取帧缓存用于屏幕截图

读取收藏夹和历史记录

comandroidbrowserpermissionREAD_HISTORY_BOOKMARKS,读取浏览器收藏夹和历史记录

读取输入状态

androidpermissionREAD_INPUT_STATE,读取当前键的输入状态,仅用于系统

读取系统日志

androidpermissionREAD_LOGS,读取系统底层日志

读取电话状态

androidpermissionREAD_PHONE_STATE,访问电话状态

读取短信内容

androidpermissionREAD_SMS,读取短信内容

读取同步设置

androidpermissionREAD_SYNC_SETTINGS,读取同步设置,读取Google在线同步设置

读取同步状态

androidpermissionREAD_SYNC_STATS,读取同步状态,获得Google在线同步状态

重启设备

androidpermissionREBOOT,允许程序重新启动设备

开机自动允许

androidpermissionRECEIVE_BOOT_COMPLETED,允许程序开机自动运行

接收彩信

androidpermissionRECEIVE_MMS,接收彩信

接收短信

androidpermissionRECEIVE_SMS,接收短信

接收Wap Push

androidpermissionRECEIVE_WAP_PUSH,接收WAP PUSH信息

录音

androidpermissionRECORD_AUDIO,录制声音通过手机或耳机的麦克

排序系统任务

androidpermissionREORDER_TASKS,重新排序系统Z轴运行中的任务

结束系统任务

androidpermissionRESTART_PACKAGES,结束任务通过restartPackage(String)方法,该方式将在外来放弃

发送短信

androidpermissionSEND_SMS,发送短信

设置Activity观察其

androidpermissionSET_ACTIVITY_WATCHER,设置Activity观察器一般用于monkey测试

设置闹铃提醒

comandroidalarmpermissionSET_ALARM,设置闹铃提醒

设置总是退出

androidpermissionSET_ALWAYS_FINISH,设置程序在后台是否总是退出

设置动画缩放

androidpermissionSET_ANIMATION_SCALE,设置全局动画缩放

设置调试程序

androidpermissionSET_DEBUG_APP,设置调试程序,一般用于开发

设置屏幕方向

androidpermissionSET_ORIENTATION,设置屏幕方向为横屏或标准方式显示,不用于普通应用

设置应用参数

androidpermissionSET_PREFERRED_APPLICATIONS,设置应用的参数,已不再工作具体查看addPackageToPreferred(String)介绍

设置进程限制

androidpermissionSET_PROCESS_LIMIT,允许程序设置最大的进程数量的限制

设置系统时间

androidpermissionSET_TIME,设置系统时间

设置系统时区

androidpermissionSET_TIME_ZONE,设置系统时区

设置桌面壁纸

androidpermissionSET_WALLPAPER,设置桌面壁纸

设置壁纸建议

androidpermissionSET_WALLPAPER_HINTS,设置壁纸建议

发送永久进程信号

androidpermissionSIGNAL_PERSISTENT_PROCESSES,发送一个永久的进程信号

状态栏控制

androidpermissionSTATUS_BAR,允许程序打开、关闭、禁用状态栏

访问订阅内容

androidpermissionSUBSCRIBED_FEEDS_READ,访问订阅信息的数据库

写入订阅内容

androidpermissionSUBSCRIBED_FEEDS_WRITE,写入或修改订阅内容的数据库

显示系统窗口

androidpermissionSYSTEM_ALERT_WINDOW,显示系统窗口

更新设备状态

androidpermissionUPDATE_DEVICE_STATS,更新设备状态

使用证书

androidpermissionUSE_CREDENTIALS,允许程序请求验证从AccountManager

使用SIP视频

androidpermissionUSE_SIP,允许程序使用SIP视频服务

使用振动

androidpermissionVIBRATE,允许振动

唤醒锁定

androidpermissionWAKE_LOCK,允许程序在手机屏幕关闭后后台进程仍然运行

写入GPRS接入点设置

androidpermissionWRITE_APN_SETTINGS,写入网络GPRS接入点设置

写入日程提醒

androidpermissionWRITE_CALENDAR,写入日程,但不可读取

写入联系人

androidpermissionWRITE_CONTACTS,写入联系人,但不可读取

写入外部存储

androidpermissionWRITE_EXTERNAL_STORAGE,允许程序写入外部存储,如SD卡上写文件

写入Google地图数据

androidpermissionWRITE_GSERVICES,允许程序写入Google Map服务数据

写入收藏夹和历史记录

comandroidbrowserpermissionWRITE_HISTORY_BOOKMARKS,写入浏览器历史记录或收藏夹,但不可读取

读写系统敏感设置

androidpermissionWRITE_SECURE_SETTINGS,允许程序读写系统安全敏感的设置项

读写系统设置

androidpermissionWRITE_SETTINGS,允许读写系统设置项

编写短信

androidpermissionWRITE_SMS,允许编写短信

写入在线同步设置

androidpermissionWRITE_SYNC_SETTINGS,写入Google在线同步设置

<uses-permission android:name="androidpermissionACCESS_WIFI_STATE"/>

访问登记属性

androidpermissionACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限

获取错略位置

androidpermissionACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米

获取精确位置

androidpermissionACCESS_FINE_LOCATION,通过GPS芯片接收卫星的定位信息,定位精度达10米以内

访问定位额外命令

androidpermissionACCESS_LOCATION_EXTRA_COMMANDS,允许程序访问额外的定位提供者指令

GPS定位获取模拟定位信息

androidpermissionACCESS_MOCK_LOCATION,获取模拟定位信息,一般用于帮助开发者调试应用

获取网络状态

androidpermissionACCESS_NETWORK_STATE,获取网络信息状态,如当前的网络连接是否有效

访问Surface Flinger

androidpermissionACCESS_SURFACE_FLINGER,Android平台上底层的图形显示支持,一般用于游戏或照相机预览界面和底层模式的屏幕截图

获取WiFi状态

androidpermissionACCESS_WIFI_STATE,获取当前WiFi接入的状态以及WLAN热点的信息

账户管理

androidpermissionACCOUNT_MANAGER,获取账户验证信息,主要为GMail账户信息,只有系统级进程才能访问的权限

验证账户

androidpermissionAUTHENTICATE_ACCOUNTS,允许一个程序通过账户验证方式访问账户管理ACCOUNT_MANAGER相关信息

电量统计

androidpermissionBATTERY_STATS,获取电池电量统计信息

绑定小插件

androidpermissionBIND_APPWIDGET,允许一个程序告诉appWidget服务需要访问小插件的数据库,只有非常少的应用才用到此权限

绑定设备管理

androidpermissionBIND_DEVICE_ADMIN,请求系统管理员接收者receiver,只有系统才能使用

绑定输入法

androidpermissionBIND_INPUT_METHOD ,请求InputMethodService服务,只有系统才能使用

绑定RemoteView

androidpermissionBIND_REMOTEVIEWS,必须通过RemoteViewsService服务来请求,只有系统才能用

绑定壁纸

androidpermissionBIND_WALLPAPER,必须通过WallpaperService服务来请求,只有系统才能用

使用蓝牙

androidpermissionBLUETOOTH,允许程序连接配对过的蓝牙设备

蓝牙管理

androidpermissionBLUETOOTH_ADMIN,允许程序进行发现和配对新的蓝牙设备

变成砖头

androidpermissionBRICK,能够禁用手机,非常危险,顾名思义就是让手机变成砖头

应用删除时广播

androidpermissionBROADCAST_PACKAGE_REMOVED,当一个应用在删除时触发一个广播

收到短信时广播

androidpermissionBROADCAST_SMS,当收到短信时触发一个广播

连续广播

androidpermissionBROADCAST_STICKY,允许一个程序收到广播后快速收到下一个广播

WAP PUSH广播

androidpermissionBROADCAST_WAP_PUSH,WAP PUSH服务收到后触发一个广播

拨打电话

androidpermissionCALL_PHONE,允许程序从非系统拨号器里输入电话号码

通话权限

androidpermissionCALL_PRIVILEGED,允许程序拨打电话,替换系统的拨号器界面

拍照权限

androidpermissionCAMERA,允许访问摄像头进行拍照

改变组件状态

androidpermissionCHANGE_COMPONENT_ENABLED_STATE,改变组件是否启用状态

改变配置

androidpermissionCHANGE_CONFIGURATION,允许当前应用改变配置,如定位

改变网络状态

androidpermissionCHANGE_NETWORK_STATE,改变网络状态如是否能联网

改变WiFi多播状态

androidpermissionCHANGE_WIFI_MULTICAST_STATE,改变WiFi多播状态

改变WiFi状态

androidpermissionCHANGE_WIFI_STATE,改变WiFi状态

清除应用缓存

androidpermissionCLEAR_APP_CACHE,清除应用缓存

清除用户数据

androidpermissionCLEAR_APP_USER_DATA,清除应用的用户数据

方法:

确定手机安装360卫士,没有可在网页上直接搜360安全卫士,下载 APP安装,打开软件图如下

2点击手机备份,安装时系统墨认是没有安装手机备份工具的,如没有需要重新安装,这里是不容易发现的

3若要重新安装,点击添加更多工具,如下图,找到手机备份,点击添加

4添加好手机备份工具后,返回就能看到,点击手机备份可进入,备份与还原手机数据信息,(可根据自己的需要选择钩选 *** 作),如下图

1在电脑中将联系人文件格式转换成vcf或csv格式(WIN7);

2用豌豆角或360手机助手连接手机和电脑;

3联系人导入即可。

注:批量导入可能时间较长,耐心等待!

联系人

里修改,菜单,设置,保存联系人到。再说了安卓系统的联系人

程序

都相同吗?至于你说复原默认设置不能按,那本来就不能按,例如你默认用联系人打开网站地址(1个例子),这样那一个复原默认设置的

按钮

才会亮。假如你的手机是:保存联系人时你勾了默认到卡,那只可以清楚联系人数据了。照我说的去做,

以上就是关于Android编程,根据姓名获得手机通讯录中的电话号码全部的内容,包括:Android编程,根据姓名获得手机通讯录中的电话号码、为什么手机APP会读取你的联系人、通话记录、位置等、android 读写联系人需要什么权限等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9428469.html

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

发表评论

登录后才能评论

评论列表(0条)

保存