android开发仿照第三方app打开方式,如何将你的app显示在打开列表,并且将文件复制到你的app应用内
2017-06-26 14:41
661 查看
最近在帮朋友做一个项目,有关文件处理的。之前提出的一个需求就是,用户在手机里随便点开一个文件,开发方式里要有自己开发的app,并且将这个文件复制到app所在文件夹里,在app应用里直接预览文件。这个就和第三方office app类似的。这个功能主要有2个难点:1是怎么把自己开发的app显示在打开列表里 2 如何复制所选择的文件拷贝到开发的app文件夹里。 思路:1 .app显示在打开列表中,需要配置清单文件AndroidManifest.xml中activity里的intent-filter;2:文件复制到开发的app里用到里Uri。 1.AndroidManifest.xml
<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="*/*"/> </intent-filter>
这段配置代码一般配置在启动activity页面里。其中 <data android:mimeType="*/*"/>是选择文件格式,我这里默认是所有格式都能显示在打开列表里,如果需要开发指定
文件格式修改mimeType的内容,网上有很多我就不一一列举了,自行百度。
2.Uri
String action=getIntent().getAction();//将文件复制到制定目录中if(Intent.ACTION_VIEW.equals(action)){String str = i.getDataString();Log.e("uri", str);if(str != null){Uri uri = null;uri = Uri.parse(str);//uri路径String filePath= FileUtil.getRealFilePath(this,uri);//获取文件绝对路径try {fileName=FileUtil.getFileName(filePath);InputStream in = this.getContentResolver().openInputStream(uri);//ioFileOutputStream out = new FileOutputStream(new File(path));//文件输出到开发app路径byte[] b = new byte[1024];try {while ((in.read(b)) != -1) {out.write(b);}in.close();out.close();} catch (Exception e) {e.printStackTrace();}}catch (Exception e){e.printStackTrace();}}
相关文章推荐
- Android 仿照第三方app 将自己APP显示在打开列表中
- Android应用如何触发应用出现在打开文件方式的列表中
- iOS App让自己的应用在其他应用中打开列表中显示、iOS把自己的应用添加到”活动“、将PDF文件Open In MyApp
- 安卓开发调用第三方应用(如WPS)打开文档(比如Word),如何设置文件只读,不能被修改?
- Android开发过程遇到的安装好的APP打开程序崩溃,或者安装后应用列表里没有的问题及解决方案
- iOS App让自己的应用在其他应用中打开列表中显示、iOS把自己的应用添加到”活动“、将PDF文件Open In MyApp
- Android开发之如何在WebView中点击链接使用自身打开(解决出现的选择使用第三方应用的问题)
- 实现让你的应用在其他应用中文件的打开方式列表中显示
- Android应用开发之(如何自动在桌面创建快捷方式)
- Android组件:radio、checkbox、下拉列表(两种方式)、日期;界面不显示appname
- android应用开发过程中更换资源文件不刷新(显示旧资源文件)问题
- Android分享中,如何过滤指定的应用,并且对不同的分享方式发送不同的内容?
- iOS App让自己的应用在其他应用中打开列表中显示
- 【android开发】手写签名系统的设计与实现之实现文件夹以及文件列表显示(一)
- Android开发——如何在第三方应用中调用系统未开放的主题和样式
- Android开发:获得某一个类型文件的打开方式
- 如何显示第三方的Android市场中自己上传的应用
- android如何实现文件打开方式可供选择功能
- iOS App让自己的应用在其他应用中打开列表中显示
- Android分享中,如何过滤指定的应用,并且对不同的分享方式发送不同的内容?【转发】