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

苹果手机用户想查看自己的手机号码,进入设置后一直下拉,点击电话图标就可以看到本机号码。如果安卓用户想要看自己的手机号码,可以进入设置之后点击关于手机,找到SIM状态之后点击本机号码就可以看到电话号。

一、苹果手机

进入苹果手机的设置选项之后,进入页面一直下拉,找到底端的“电话”图标,点击电话之后就可以看到本机号码,本机号码内显示的就是目前使用的手机电话,在电话前还会显示目前电话所在的区号。

二、安卓手机

1、进入设置

安卓手机的手机号一般都在设置内,点击进入手机设置,一直下拉页面找到“关于手机”,在关于手机的栏目中全部都是与手机设置有关的选项,点击“SIM卡状态”之后等待几秒钟的跳转页面。

2、查看号码

进入SIM卡状态之后,点击“本机号码”就可以看到目前的电话号码,不过一般手机内储存的号码都是在换新手机的时候填写的,因此如果中途更换电话号码的时候也需要同样方式,点击进入电话编辑后改变电话号。。

android如何通过adb命令获取手机的IMEI, 请教各位高手,怎么通过adb命令行获取和修改bluestacks的IMEI

java获得android的imei号步骤:
1、权限添加:
<uses-permission android:name="androidpermissionREAD_PHONE_STATE" />
TelephonyManager telephonyManager = (TelephonyManager) this
getSystemService(ContextTELEPHONY_SERVICE);
String IMEI = telephonyManagergetDeviceId();
2、adb命令获得:
adb shell dumpsys iphonesubinfo

如何通过adb命令获取手机型号与设备信息

1、在命令行中输入“adb shell”
2、进入shell之后,再输入“cat /system/buildprop | grep "product"”
其实,设备信息,主要是存放在“/system/buildprop”文件,通过“cat”命令就可以查看了。

1、手机先要有root权限,这是前提。
2、获取root权限后,adb devices可返回设备信息

#06#

如何通过adb root 手机 命令

权限提取,一种是连接电脑刷入破解文件;另一种则是在手机上运行破解软件。注意:获取Root权限过程有风险,后果自负 Universal Androot 手机上运行破解软件(Z4ROOT,KINGROOT,) 这类获取Root权限的软件效果因“机型”而异,而且成功率不高,想想也知道了:在一个没有Root的手机上以普通权限运行软件妄图取得Root权限,难度可想而知。常见的此类软件有: Universal Androot 官网 z4root 官网 这两个软件都是软件开发爱好者开发的,放在同一个论坛上,“官网”就是一个帖子。注册论坛后可以下载。也可以到掌上应用汇搜索下载 连接电脑刷入破解文件 这种办法成功率非常高,用电脑对付手机还不是小菜一碟!这种方法,对大部分机型同样适用。知名的该类软件是:SuperOneClick 官网,或用第三方刷机工具(甜椒,卓大师,刷机精灵等等),效果一样。ROOT之后,必须安装SUPERUSER哦,这个用于权限分配的软件

如何通过adb命令安装app到安装终端

准备工作

确信 \Android-sdk-windows\tools\下有 adbexe     AdbWinApidll     AdbWinU Apidll 三个文件,如果没有从\android-sdk-windows\platform-tools\ 下面拷贝到tools下(android sdk 30 以上版本一些工具默认不放在tools下,作为可选配置放在platform-tools下)

安装apk到手机:adb install c:\HA_drocap2_JOY3Gapk。

启动所安装的程序,手机要是root权限并且进入到data\app目录下,# am start -n vsp/vspStartActivty。

查看相应的日志

adb logcat -s wele:i

怎样通过adb命令来root手机

首先,这个真的无需内核是否支持,与内核无关,即原生的就行;
1,手机拥有可以 ROOT 授权的工具,比如: SuperSu;
2,手机打开“开发者选项”
2,PC 命令行 / Linux、Mac 终端:
命令:adb shell
命令:su
同时注意观察手机有两个提示需要确认:
1,是否允许设备连接到手机;
2,SuperSu Root 授权确认;

方法一
打开手机设置,进入关于手机选项
找到设备信息一栏,在电话号码哪一块是不是有自己的手机号码呢?
方法二
打开短信,新建一个短信给朋友,他收到的信息来源就是你的号码
给对方拨打电话,对方来电显示就是你的号码
方法三
携带开户身份z或者其他证件,到营业厅咨询
拨打人工服务台咨询
方法四
安卓手机再拨号界面输入##4636##,显示出手机信息
选择手机信息,即可看到自己手机号码

在Android开发中,我经常会遇到需要获取手机通讯录联系人信息,Android手机的通讯录联系人全部都存在系统的数据库中,如果须要获得通讯里联系人的信息就须要访问系统的数据库,才能将信息获取出来。
下面直接贴出代码供大家参考:
程序文件java代码:
import javaioInputStream;
import javautilArrayList;
import androidappListActivity;
import androidcontentContentResolver;
import androidcontentContentUris;
import androidcontentContext;
import androidcontentIntent;
import androiddatabaseCursor;
import androidgraphicsBitmap;
import androidgraphicsBitmapFactory;
import androidnetUri;
import androidosBundle;
import androidproviderContactsContract;
import androidproviderContactsContractCommonDataKindsPhone;
import androidproviderContactsContractCommonDataKindsPhoto;
import androidtextTextUtils;
import androidviewLayoutInflater;
import androidviewView;
import androidviewViewGroup;
import androidwidgetAdapterView;
import androidwidgetBaseAdapter;
import androidwidgetImageView;
import androidwidgetListView;
import androidwidgetTextView;
import androidwidgetAdapterViewOnItemClickListener;

public class ContactsActivity extends ListActivity {

Context mContext = null;

/获取库Phon表字段/
private static final String[] PHONES_PROJECTION = new String[] {
PhoneDISPLAY_NAME, PhoneNUMBER, PhotoPHOTO_ID,PhoneCONTACT_ID };

/联系人显示名称/
private static final int PHONES_DISPLAY_NAME_INDEX = 0;

/电话号码/
private static final int PHONES_NUMBER_INDEX = 1;

/头像ID/
private static final int PHONES_PHOTO_ID_INDEX = 2;

/联系人的ID/
private static final int PHONES_CONTACT_ID_INDEX = 3;
/联系人名称/
private ArrayList<String> mContactsName = new ArrayList<String>();

/联系人头像/
private ArrayList<String> mContactsNumber = new ArrayList<String>();

/联系人头像/
private ArrayList<Bitmap> mContactsPhonto = new ArrayList<Bitmap>();

ListView mListView = null;
MyListAdapter myAdapter = null;

@Override
public void onCreate(Bundle savedInstanceState) {
mContext = this;
mListView = thisgetListView();
/得到手机通讯录联系人信息/
getPhoneContacts();

myAdapter = new MyListAdapter(this);
setListAdapter(myAdapter);
mListViewsetOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<> adapterView, View view,
int position, long id) {
//调用系统方法拨打电话
Intent dialIntent = new Intent(IntentACTION_CALL, Uri
parse("tel:" + mContactsNumberget(position)));
startActivity(dialIntent);
}
});

superonCreate(savedInstanceState);
}

/得到手机通讯录联系人信息/
private void getPhoneContacts() {
ContentResolver resolver = mContextgetContentResolver();

// 获取手机联系人
Cursor phoneCursor = resolverquery(PhoneCONTENT_URI,PHONES_PROJECTION, null, null, null);
if (phoneCursor != null) {
while (phoneCursormoveToNext()) {

//得到手机号码
String phoneNumber = phoneCursorgetString(PHONES_NUMBER_INDEX);
//当手机号码为空的或者为空字段 跳过当前循环
if (TextUtilsisEmpty(phoneNumber))
continue;

//得到联系人名称
String contactName = phoneCursorgetString(PHONES_DISPLAY_NAME_INDEX);

//得到联系人ID
Long contactid = phoneCursorgetLong(PHONES_CONTACT_ID_INDEX);

//得到联系人头像ID
Long photoid = phoneCursorgetLong(PHONES_PHOTO_ID_INDEX);

//得到联系人头像Bitamp
Bitmap contactPhoto = null;

//photoid 大于0 表示联系人有头像 如果没有给此人设置头像则给他一个默认的
if(photoid > 0 ) {
Uri uri =ContentUriswithAppendedId(ContactsContractContactsCONTENT_URI,contactid);
InputStream input = ContactsContractContactsopenContactPhotoInputStream(resolver, uri);
contactPhoto = BitmapFactorydecodeStream(input);
}else {
contactPhoto = BitmapFactorydecodeResource(getResources(), Rdrawablecontact_photo);
}

mContactsNameadd(contactName);
mContactsNumberadd(phoneNumber);
mContactsPhontoadd(contactPhoto);
}

phoneCursorclose();
}
}

/得到手机SIM卡联系人人信息/
private void getSIMContacts() {
ContentResolver resolver = mContextgetContentResolver();
// 获取Sims卡联系人
Uri uri = Uriparse("content://icc/adn");
Cursor phoneCursor = resolverquery(uri, PHONES_PROJECTION, null, null,
null);

if (phoneCursor != null) {
while (phoneCursormoveToNext()) {

// 得到手机号码
String phoneNumber = phoneCursorgetString(PHONES_NUMBER_INDEX);
// 当手机号码为空的或者为空字段 跳过当前循环
if (TextUtilsisEmpty(phoneNumber))
continue;
// 得到联系人名称
String contactName = phoneCursor
getString(PHONES_DISPLAY_NAME_INDEX);

//Sim卡中没有联系人头像

mContactsNameadd(contactName);
mContactsNumberadd(phoneNumber);
}

phoneCursorclose();
}
}

class MyListAdapter extends BaseAdapter {
public MyListAdapter(Context context) {
mContext = context;
}

public int getCount() {
//设置绘制数量
return mContactsNamesize();
}

@Override
public boolean areAllItemsEnabled() {
return false;
}

public Object getItem(int position) {
return position;
}

public long getItemId(int position) {
return position;
}

public View getView(int position, View convertView, ViewGroup parent) {
ImageView iamge = null;
TextView title = null;
TextView text = null;
if (convertView == null) {
convertView = LayoutInflaterfrom(mContext)inflate(
Rlayoutcolorlist, null);
iamge = (ImageView) convertViewfindViewById(Ridcolor_image);
title = (TextView) convertViewfindViewById(Ridcolor_title);
text = (TextView) convertViewfindViewById(Ridcolor_text);
}
//绘制联系人名称
titlesetText(mContactsNameget(position));
//绘制联系人号码
textsetText(mContactsNumberget(position));
//绘制联系人头像
iamgesetImageBitmap(mContactsPhontoget(position));
return convertView;
}

}
}


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

原文地址: https://outofmemory.cn/yw/13397472.html

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

发表评论

登录后才能评论

评论列表(0条)

保存