如何分享一个文件
来源:互联网 发布:mac 终端 vi 保存退出 编辑:程序博客网 时间:2024/06/06 08:56
private static final String AUTHORITY = "com.example.android.supportv4.my_files";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.file_provider_example);
}
public void onShareFileClick(View view) {
// Save a thumbnail to file
final File thumbsDir = new File(getFilesDir(), "thumbs");
thumbsDir.mkdirs();
final File file = new File(thumbsDir, "private.png");
android.util.Log.i("FileProviderExample", "onShareFileClick--->file:"+file);
saveThumbnail(view, file);
// Now share that private file using FileProvider
final Uri uri = FileProvider.getUriForFile(this, AUTHORITY, file);
final Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("image/png");
intent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(intent);
}
/**
* Save thumbnail of given {@link View} to {@link File}.
*/
private void saveThumbnail(View view, File file) {
final Bitmap bitmap = Bitmap.createBitmap(
view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
android.util.Log.i("FileProviderExample", "saveThumbnail--->width:"+view.getWidth());
android.util.Log.i("FileProviderExample", "saveThumbnail--->height:"+view.getHeight());
final Canvas canvas = new Canvas(bitmap);
view.draw(canvas);
try {
final OutputStream os = new FileOutputStream(file);
android.util.Log.i("FileProviderExample", "saveThumbnail--->os:"+os);
try {
bitmap.compress(Bitmap.CompressFormat.PNG, 100, os);
} finally {
os.close();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
mainifest.xml
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.example.android.supportv4.my_files"
android:grantUriPermissions="true"
android:exported="false">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/my_paths" />
</provider>
/res/xml/my_paths.xml
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Offer access to files under Context.getFilesDir() + "thumbs/"
through alias "my_thumbs" -->
<files-path name="my_thumbs" path="thumbs/" />
<!-- Offer access to files under Environment.getExternalStorageDirectory()
through alias "my_external" -->
<external-path name="my_external" />
<!-- Offer access to files under Context.getCacheDir() -->
<cache-path name="my_cache" />
</paths>
- 如何分享一个文件
- 请求分享一个文件
- 分享一个文件上传插件
- 分享一个dll文件下载的网站
- 分享文件一个上传工具类
- 分享一个volley支持 multipart上传文件
- 分享一个volley支持 multipart上传文件
- 分享一个csv文件转换类
- 分享一个文件操作的工具类
- 一个简单的文件分享工具
- 如何复制一个文件
- 如何播放一个文件
- 如何转换pdf文件方法分享
- 如何生成一个bmp文件
- 如何读取一个.ini文件
- 如何生成一个bmp文件
- 如何创建一个JAR文件
- 如何创建一个注册表文件
- Java 生成6位随机验证码
- 取消文件共享--计算机管理里停止共享即可
- Android学习碎片(二)——如何从本地图片获得Bitmap实例
- 标准C++中的string类的用法总结
- matlab学习笔记(十二)---二值图像及其特征提取
- 如何分享一个文件
- 开发一个delphi写的桌面图标管理代码
- 怎样使用nat和桥接方式解决虚拟机联网问题
- 世人对佛教误解有多深
- Kibana User Guide [4.2] » Getting Started with Kibana » Putting it all Together with Dashboards
- Activity切换动画之-缩放,扩大与透明改变的效果
- Ubuntu android开发环境问题
- Andaroid 新手引导页及小圆点添加
- ubuntu 安装redmine