Android应用intent跳转到系统界面汇总

来源:互联网 发布:coc防空火箭数据2016 编辑:程序博客网 时间:2024/06/05 18:18

前段时间做项目的时候,需要对纯文本内容做正则匹配,识别出电话号码,并要求直接呼叫和保存。电话号码的正则网上到处都是,也不是很难写,看需求自己弄一个就行了。至于呼叫和保存,需要调用系统的应用进行,本来也挺简单的,这里就做一下总结。

呼叫:

Intent dialIntent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + phoneNum));context.startActivity(dialIntent);


保存到通讯录:

1.直接新建联系人

Intent newContactIntent = new Intent(Intent.ACTION_INSERT);newContactIntent.setType(ContactsContract.Contacts.CONTENT_TYPE);newContactIntent.putExtra(ContactsContract.Intents.Insert.PHONE, phoneNum);//携带号码跳转,可追加别的信息context.startActivity(newContactIntent);

2.保存到现有联系人

Intent editContactIntent = new Intent(Intent.ACTION_INSERT_OR_EDIT);editContactIntent.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE);editContactIntent.putExtra(ContactsContract.Intents.Insert.PHONE, phoneNum);//携带号码跳转。可追加别的信息context.startActivity(editContactIntent);

这里要特别注意的是第二种情况,网上很多其他的方法,比如直接把type设置为“vnd.android.cursor.item/people”之类的,经过测试,这种写法在MIUI上是无效的,找不到对应的activity而崩溃退出应用。至于CONTENT_TYPE和CONTENT_ITEM_TYPE,还不是很了解,但在第一种情况下如果type设置为CONTENT_ITEM_TYPE,也会崩溃退出。



原创粉丝点击