1.概述

今天介绍一下实现Android App内实现点击拨号、复制剪贴板、添加手机联系人等相关操作


2.实现效果

没有gif图




3.实现步骤


直接上代码:


private void initService() {    String[] info = new String[]{"呼叫", "复制", "添加到通讯录"};    final String[] addInfo = new String[]{"新建联系人", "添加到已有联系人"};    final String phone = mServicePhone.getText().toString().trim();//获取手机号码兑对象    //创建粘贴板对象    //点击弹出对话框    AlertDialog.Builder builder = new AlertDialog.Builder(getContext());    builder.setItems(info, new DialogInterface.OnClickListener() {        @Override        public void onClick(DialogInterface dialogInterface, int position) {            switch (position) {                case 0: //呼叫                    final Intent call = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + phone));                    call.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);                    startActivity(call);                    break;                case 1://复制                    ClipboardManager copy = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);                    copy.setText(phone);                    String text = copy.getText().toString().trim();                    MyToast.show(getContext(), "已复制" + text);                    break;                case 2://添加通讯录                    final AlertDialog.Builder add = new AlertDialog.Builder(getContext());                    add.setItems(addInfo, new DialogInterface.OnClickListener() {                        @Override                        public void onClick(DialogInterface dialogInterface, int i) {                            switch (i) {                                case 0://新建联系人                                    Intent addNew = new Intent(Intent.ACTION_INSERT,                                            Uri.withAppendedPath(Uri.parse("content://com.android.contacts"), "contacts"));                                    addNew.setType("vnd.android.cursor.dir/person");                                    addNew.putExtra(android.provider.ContactsContract.Intents.Insert.SECONDARY_PHONE, phone);                                    startActivity(addNew);                                    break;                                case 1://添加已有联系人                                    Intent oldConstantIntent = new Intent(Intent.ACTION_INSERT_OR_EDIT);                                    oldConstantIntent.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE);                                    oldConstantIntent.putExtra(ContactsContract.Intents.Insert.PHONE, phone);                                    oldConstantIntent.putExtra(ContactsContract.Intents.Insert.PHONE_TYPE, 3);                                    startActivity(oldConstantIntent);                                    break;                            }                        }                    });                    AlertDialog alertDialog = add.create();                    alertDialog.show();                    break;            }        }    });    AlertDialog alertDialog = builder.create();    alertDialog.show();}


更多相关文章

  1. [Android]如何创建一个View的分割线
  2. ReactNative D8 Cannot fit requested classes in a single dex
  3. Android(安卓)简单引导页实现
  4. Android——百度地图开发、添加覆盖物、地理编码和反地理编码、
  5. android通讯录之联系人
  6. Android添加依赖出现This support library should not use a dif
  7. Android(安卓)LayoutInflater.inflate 的使用及源码分析
  8. Android学习--界面设计
  9. android中联系人搜索框

随机推荐

  1. Android(安卓)studio 关于SQlite数据库导
  2. 深入Android 【一】 ―― 序及开篇
  3. Google 收购 Android 十周年 全面解读And
  4. Android从启动到程序运行发生的事情
  5. Android Wear应用程序开发的简要说明,对每
  6. android 热修复之类加载机制
  7. 解读Android LOG机制的实现:c/c++域使用LO
  8. Android音频口数据通信开发;通过静态分析
  9. android json访问php webservice
  10. Android中AsyncTask的简单用法 .