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

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

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

呼叫:

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,也会崩溃退出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐