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);
}