您的位置:首页 > 移动开发 > Android开发

Android 电话、联系人相关协议

2017-05-03 10:48 127 查看
1,<!-- 从通知栏点击进入通话记录列表 -->

            <intent-filter>

                <action android:name="android.intent.action.VIEW"/>

                <action android:name="android.intent.action.CALL_BUTTON"/>

                <category android:name="android.intent.category.DEFAULT" />

                <data android:mimeType="vnd.android.cursor.dir/calls"/>

            </intent-filter>

2, <!-- 拨号器相关 -->

            <intent-filter>

                <action android:name="android.intent.action.VIEW"/>

                <action android:name="android.intent.action.DIAL" />

                <category android:name="android.intent.category.DEFAULT" />

                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="tel"/>

            </intent-filter>

     处理       

     if(Intent.ACTION_DIAL.equals(getIntent().getAction())){

            Uri uri=getIntent().getData();

            String number = getIntent().getDataString().replace("tel:","");

            

            Log.e("dialnumber","number:"+number+" uri:"+uri);

        }else{

            if (Intent.ACTION_VIEW.equals(action)) {

                final Uri data = getIntent().getData();

                if (data != null && "tel".equals(data.getScheme())) {

                    String number = data.toString().replace("tel:","");

                    

                    Log.e("dialnumber","number:"+number);

                }

            }

        }        

3,新建联系人相关

<intent-filter android:label="Create contact">

                <action android:name="android.intent.action.VIEW"/>

                <action android:name="android.intent.action.INSERT"/>

                <category android:name="android.intent.category.DEFAULT" />

                <data android:mimeType="vnd.android.cursor.dir/person"/>

                <data android:mimeType="vnd.android.cursor.dir/contact"/>

                <data android:mimeType="vnd.android.cursor.dir/raw_contact"/>

            </intent-filter>

    处理事件        

  if(Intent.ACTION_INSERT.equals(getIntent().getAction())){

            String number = getIntent().getStringExtra(ContactsContract.Intents.Insert.PHONE);

            String type = getIntent().getStringExtra(ContactsContract.Intents.Insert.PHONE_TYPE);

            Log.e("dialnumber","number:"+number+"  type:"+type);

            if(number!=null&&!"".equals(number)){

                tv_add_contact_number.setText(number);

                if(type!=null&&!"".equals(type)){

                    tv_add_contact_type.setText(type);

                }

                checkResult();

            }

        }

 

            

            

4,编辑联系人相关

<intent-filter android:label="Edit contact">

                <action android:name="android.intent.action.VIEW"/>

                <action android:name="android.intent.action.EDIT"/>

                <category android:name="android.intent.category.DEFAULT" />

                <data android:mimeType="vnd.android.cursor.item/person" />

                <data android:mimeType="vnd.android.cursor.item/contact" />

                <data android:mimeType="vnd.android.cursor.item/raw_contact" />

            </intent-filter>

    处理事件

    if(Intent.ACTION_EDIT.equals(getIntent().getAction())){

            Uri uri = getIntent().getData();

            long raw_contact_id = EZSingletonHelper.getContactId(getApplicationContext(), uri);

            lb_edit_delete.setVisibility(View.VISIBLE);

            contact=new CallLogBean();

            contact.setRaw_contact_id((int) raw_contact_id);

            setContact(raw_contact_id);

            Log.e("dialnumber","raw_contact_id:"+raw_contact_id+" uri:"+uri);

        } 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: