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);
}
<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);
}
相关文章推荐
- Android 电话相关架构及源代码分析和学习
- android之TelephonyManager电话相关信息管理类解析
- android:获取联系人信息(姓名和电话)
- android 系统语言为英语时,Contacts联系人名字含有特殊前缀后缀(Dr. Mr. Lt等)时的相关问题处理
- Android联系人3--联系人分组相关
- Android联系人相关
- Android发送短信(短信发送以及群发和从电话本选择联系人)---短信管家2
- android:获取联系人信息(姓名和电话)
- Android中读取电话本Contacts联系人的所有电话号信息
- android中读取通讯录中的联系人名字和电话方法(注意版本2.0之前,之后有差别)
- Android中读取电话本Contacts联系人的所有电话号信息
- android:获取联系人信息(姓名和电话)
- Android 2.0读取所有联系人姓名与电话
- android 如何查询电话当中的联系人,并查询出联系次数
- Android下使用TelephonyManager类获取设备电话相关信息
- android 2.2 获取联系人,电话,并拨号
- Android读取联系人姓名、电话
- Android中读取电话本Contacts联系人的所有电话号信息
- Android电话信息相关API
- Android电话、短信相关