调用系统程序导入手机上的vcard文件
这几天研究手机中vCard联系人的导入,直接调用系统程序静默导入,不弹出选择框。
刚开始没有头绪,从网上找的资料如下:
Uri uri = Uri.parse("file:///mnt/sdcard/vcard.vcf");
Intent intent = new Intent(Intent.ACTION_VIEW,uri);
intent.setType("text/x-vcard");
startActivity(intent);
这样的方法确实可以,可是会经常弹出选择框,让你自己去选择一次文件,比较烦,不是想要的结果。经过不懈的努力,终于得到了想要的结果。
代码如下:
Uri uri = Uri.parse("file:///mnt/sdcard/mVcard.vcf");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "text/x-vcard");
//android系统版本不同,所以系统中的activity也会不同。
intent.setComponent(
new ComponentName("com.android.contacts","com.android.contacts.vcard.ImportVCardActivity"));
try{
startActivity(intent);
}catch(ActivityNotFoundException e){
intent.setComponent(
new ComponentName("com.android.contacts","com.android.contacts.ImportVCardActivity"));
startActivity(intent);
}
好了,结束,总算是完成了一件事,可以轻松一下了。
android 4.4 kitkat导入联系人又发生了变化,重新添加以下代码
intent.setComponent(
new ComponentName("com.android.contacts","com.android.contacts.common.vcard.ImportVCardActivity"));
startActivity(intent);
4.4系统导入vcard成功。
完善代码,确保不同的系统都能够适配,所以在最后加上系统默认的,以免出错。
Uri uri = Uri.parse("file:///mnt/sdcard/mVcard.vcf");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "text/x-vcard");
//android系统版本不同,所以系统中的activity也会不同。
try{
intent.setComponent(
new ComponentName("com.android.contacts","com.android.contacts.vcard.ImportVCardActivity"));
startActivity(intent);
}catch(Exception e){
try{
intent.setComponent(
new ComponentName("com.android.contacts","com.android.contacts.ImportVCardActivity"));
startActivity(intent);
}catch(Exception e){
try{
intent.setComponent(
new ComponentName("com.android.contacts","com.android.contacts.common.vcard.ImportVCardActivity"));
startActivity(intent);
}catch(Exception e){
intent.setComponent(null);
startActivity(intent);
}
}
}
调用系统程序导入手机上的vcard文件相关推荐
- 如何卸载自己手机上的APK文件程序
如何卸载自己手机上的APK文件程序 其实方法很简单,如果你刷新简体版系统的话就更容易找到删除的方法了. 桌面状态下按下"MENU"--"设置"--"应 ...
- 华为鸿蒙系统有望搭载手机上吗,华为智选车载智慧屏将12月上市:有望搭载鸿蒙系统...
日前在华为Mate40系列发布会上正式发布了华为智选车载智慧屏,不过由于时间限制,华为并没有过多的透露该产品信息. 11月5日,华为在深圳举办"2020华为智选品鉴会"上宣布,华为 ...
- android 自己调用系统相机保存的照片存到自定义文件夹里面用电脑看该照片显示0KB或者是无法查看?或者说用手机助手导出照片导出失败?
哈哈,标题有点长,之所以这样是为了能让遇到同样问题的人方便搜索到,我自己就遇到这样的问题一直搜索不到. 我先讲一下自己遇到的问题:因为我的app有需求要拍照并且保存起来,然后我为了方便用户去相册统一查 ...
- C#调用系统的复制、移动、删除文件对话框
#region 调用系统的文件复制移动删除[DllImport("shell32.dll", SetLastError = true, CharSet = CharSet.Unic ...
- Android调用系统自带的文件管理器进行文件选择
这几天在做的项目网盘.上传时需要用到调用系统自带的文件管理器来选择文件,后来就在考虑怎么调用,网上也搜了很久,没有很好的解决方法,后来在一瞬间发现了一篇不错的文章,借鉴了一下代码. [java] vi ...
- 【Android 逆向】使用 Python 代码解析 ELF 文件 ( PyCharm 中创建 Python 程序 | 导入 ELFFile 库 | 解析 ELF 文件 )
文章目录 一.PyCharm 中创建 Python 程序 二.导入 ELFFile 依赖库 三. 解析 ELF 文件 四. 博客源码 一.PyCharm 中创建 Python 程序 在 PyCharm ...
- csgo手机上看demo_CSGOdemo文件是什么 怎么去查看CSGOdemo文件
CSGO的demo指的是专用于游戏中的录像文件,必须进入游戏才能观看,通过观看demo可以身临其境的学习高手的操作和团队的战术,是提高技术必须用到的东西... 以下文字中,以demo文件名为 nip. ...
- python程序怎样在手机上_python手机文件怎么上传至电脑?
本文讲解python的一个内置文件传输下载器,可以用来在局域网内进行文件传输,当然可能有人会问,我用微信QQ也能传,为什么还要用python来传输下载?在此,其实我个人感觉的是,这种操作更简单,省了时 ...
- java语言开发手机游戏_手机上的JAVA游戏和JAVA软件,是电脑上的JAVA语言编写的吗?他们之间有什么联系...
手机上的JAVA游戏和JAVA软件,是电脑上的JAVA语言编写的吗?他们之间有什么联系以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起 ...
最新文章
- CC2530-Zstack 协议栈MAC层中的mac_rx.c程序解读
- python-类知识点简介
- postgres-#和postgres=#
- Java学习笔记13-1——SpringMVC
- poj 3041 Asteroids
- vue中parameterObject:{}使用
- 60-100-240-使用-DataSource-JDBC相关-JDBC读取各种数据源
- C++ 虚析构函数作用
- MDC功能软件-归控算法介绍
- java之设计模式工厂三兄弟之简单工厂模式
- 【网络安全】考试试卷十一
- java获取系统所有字体_java获取本机所有可用字体
- 苹果CoreFoundation源代码
- Netfilter的rpfilter技术-Linux的uRPF
- 线性代数 --- 什么是矩阵的逆?(个人笔记扫描版)
- txt转mobi格式
- 关于大淘客CMS免费二次开发分享的曝光
- 分形蕨( fractal fern)
- ajax传递数组.net,ajax传递数组问题
- 打篮球与企业管理有相似之处吗?