Android Share 将图片或者文件分享到自己的APP 中
2017-11-03 18:21
381 查看
一般我们看到好看的图片或者文章时,就会将其分享到我们的微信朋友,或者朋友圈中,就像这样
这个呢,我们可以调用系统的分享,或者用第三方的SDK,如ShareSDK, 友盟都是可以的,但是,我们想要把文件分享到我们的APP 中呢。
这个是任意的文件,没有指定文件类型。
PDF 文件
图片
网址
返回的path 就是我们需要的文件路径。
这个呢,我们可以调用系统的分享,或者用第三方的SDK,如ShareSDK, 友盟都是可以的,但是,我们想要把文件分享到我们的APP 中呢。
一,我们需要在清单文件中进行一些信息配置,让它们可以检测到我们的APP。
<intent-filter android:label="@string/app_name" > <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="*/*" /> </intent-filter>
这个是任意的文件,没有指定文件类型。
PDF 文件
<intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="file" /> <data android:mimeType="*/*" /> <data android:pathPattern=".*\\.pdf" /> <data android:host="*" /> </intent-filter>
图片
<intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="image/jpeg" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="image/png" /> </intent-filter>
网址
<intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="text/html" /> </intent-filter>
二,接收数据
在起始的activity中做如下处理Intent itnIn=getIntent(); Bundle extras = itnIn.getExtras(); String action = itnIn.getAction(); if (Intent.ACTION_SEND.equals(action)) { if (extras.containsKey(Intent.EXTRA_STREAM)) { try { // Get resource path from intent Uri uri2 = (Uri) extras.getParcelable(Intent.EXTRA_STREAM); // 返回路径 String path = getRealPathFromURI(Activity_Logo_View.this, uri2); } catch (Exception e) { Log.e(this.getClass().getName(), e.toString()); } /** * 通过Uri获取文件在本地存储的真实路径 * @param act * @param contentUri * @return */ public String getRealPathFromURI(Activity act, Uri contentUri) { // can post image String[] proj = { MediaStore.Images.Media.DATA }; Cursor cursor = act.managedQuery(contentUri, proj, // Which columns to return null, // WHERE clause; which rows to return (all rows) null, // WHERE clause selection arguments (none) null); // Order-by clause (ascending by name) if (cursor==null) { String path = contentUri.getPath(); return path; } int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); return cursor.getString(column_index); }
返回的path 就是我们需要的文件路径。
相关文章推荐
- 将图片和文件分享到自己的app中来
- Android -- 查询手机上所有的能分享图片或者文字的App packageName
- android 去掉appcompat_v7 生成R文件 自己总结绝对可用
- Android 图片或者文件上传服务器(Android+Struts2)
- 如何在android 文件选择器中选择多个图片或者视频?
- Android Intent分享文件|分享图片|分享文字|功能的实现
- Android: Receiving Data from the Send Intent,将自己的app注册系统分享
- android 不调用微信,易信等SDK实现实现一键分享图片文字到微信,易信,以及全部可选app
- 【Android开发经验】APP的缓存文件到底应该存在哪?看完这篇文章你应该就自己清楚了
- 从其他APP分享图片到自己的APP指定界面内
- android如何在自己应用APP目录下创建文件
- android app 浅谈文件上传(图片和文件)
- 分享自己在项目中对android文件系统的一些认识
- Android 往自己的APP加入文件
- Android: Receiving Data from the Send Intent,自己app注册系统分享
- Android:添加自己的应用到“分享”->"发送文件"选项
- 如何在android 文件选择器中选择多个图片或者视频?
- Android APP 分享图片文字到微信刚开始正常,后面就不弹出分享框了
- android上引入七牛 上传图片或者文件 最终整理版本(可用)
- [Android实例] Android ListView从网络获取图片及文字显示 + 自己搭建的服务器的xml文件