SummerDrea 2017-04-10 02:31 采纳率: 0%
浏览 1693
已结题

手机APP 将信息导入通讯录,如何访问调用到手机通讯录JS。将信息导入 谢谢

手机APP 将信息导入通讯录,如何访问调用到手机通讯录。将信息导入 谢谢!我QQ 805393206

  • 写回答

1条回答 默认 最新

  • qq_28514109 2017-04-10 08:52
    关注

    package com.example.test;

    import android.net.Uri;

    import android.os.Bundle;

    import android.provider.ContactsContract;

    import android.app.Activity;

    import android.content.ContentResolver;

    import android.content.Intent;

    import android.database.Cursor;

    import android.view.View;

    import android.widget.EditText;

    public class MainActivity extends Activity {

    // 声明文本框

    private EditText et_mobile;

    // 声明姓名,电话

    private String username, usernumber;

    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        // 根据Id获得文本框  
        et_mobile = (EditText) this.findViewById(R.id.mobileTel);  
    }  
    
    public void getTelClick(View v) {  
    
        startActivityForResult(new Intent(Intent.ACTION_PICK,  
                ContactsContract.Contacts.CONTENT_URI), 0);  
    }  
    
    @Override  
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
        super.onActivityResult(requestCode, resultCode, data);  
        if (resultCode == Activity.RESULT_OK) {  
            // ContentProvider展示数据类似一个单个数据库表  
            // ContentResolver实例带的方法可实现找到指定的ContentProvider并获取到ContentProvider的数据  
            ContentResolver reContentResolverol = getContentResolver();  
            // URI,每个ContentProvider定义一个唯一的公开的URI,用于指定到它的数据集  
            Uri contactData = data.getData();  
            // 查询就是输入URI等参数,其中URI是必须的,其他是可选的,如果系统能找到URI对应的ContentProvider将返回一个Cursor对象.  
            Cursor cursor = managedQuery(contactData, null, null, null, null);  
            cursor.moveToFirst();  
            // 获得DATA表中的名字  
            username = cursor.getString(cursor  
                    .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));  
            // 条件为联系人ID  
            String contactId = cursor.getString(cursor  
                    .getColumnIndex(ContactsContract.Contacts._ID));  
            // 获得DATA表中的电话号码,条件为联系人ID,因为手机号码可能会有多个  
            Cursor phone = reContentResolverol.query(  
                    ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,  
                    ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = "  
                            + contactId, null, null);  
            while (phone.moveToNext()) {  
                usernumber = phone  
                        .getString(phone  
                                .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));  
                et_mobile.setText(usernumber + " (" + username + ")");  
            }  
    
        }  
    }  
    

    }

    评论

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值