2.App Components-Content Providers/Storage Access Framework

本文详细介绍了Android4.4版本中引入的StorageAccessFramework(SAF),阐述了其如何简化用户浏览和打开文档、图片和其他文件的过程。SAF通过标准化的用户界面让不同应用和提供商的文件访问变得一致。文章还展示了如何通过SAF在照片应用中访问存储数据的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Storage Access Framework

  Android 4.4 (API level 19) introduces the Storage Access Framework (SAF). The SAF makes it simple for users to browse and open

    documents, images, and other files across all of their their preferred document storage providers. A standard, easy-to-use UI lets

    users browse files and access recents in a consistent way across apps and providers.

2. Overview

  

3. Control Flow

  Here shows an example of how a photo app might use the SAF to access stored data:

  

  In the SAF, providers and clients don't interact directly. A client requests permission to interact with files (that is, to read, edit, create, or

    delete files).
  The interaction starts when an application (in this example, a photo app) fires the intent ACTION_OPEN_DOCUMENT or

    ACTION_CREATE_DOCUMENT. The intent may include filters to further refine the criteria—for example, "give me all openable files that

    have the 'image' MIME type."

  Once the intent fires, the system picker goes to each registered provider and shows the user the matching content roots.

  The picker gives users a standard interface for accessing documents, even though the underlying document providers may be very different.

  For example, figure above shows a Google Drive provider, a USB provider, and a cloud provider.

 

4. Writing a Client App

  

 

转载于:https://www.cnblogs.com/iMirror/p/4065785.html

thanos报错,报的Endpoint url cannot have fully qualified paths.\ninitialize s3 client\ngithub.com/thanos-io/objstore/providers/s3.NewBucketWithConfig\n\t/go/pkg/mod/github.com/thanos-io/objstore@v0.0.0-20241111205755-d1dd89d41f97/providers/s3/s3.go:270\ngithub.com/thanos-io/objstore/providers/s3.NewBucket\n\t/go/pkg/mod/github.com/thanos-io/objstore@v0.0.0-20241111205755-d1dd89d41f97/providers/s3/s3.go:186\ngithub.com/thanos-io/objstore/client.NewBucket\n\t/go/pkg/mod/github.com/thanos-io/objstore@v0.0.0-20241111205755-d1dd89d41f97/client/factory.go:70\nmain.runReceive\n\t/app/cmd/thanos/receive.go:196\nmain.registerReceive.func1\n\t/app/cmd/thanos/receive.go:107\nmain.main\n\t/app/cmd/thanos/main.go:143\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:272\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1700\ncreate s3 client\ngithub.com/thanos-io/objstore/client.NewBucket\n\t/go/pkg/mod/github.com/thanos-io/objstore@v0.0.0-20241111205755-d1dd89d41f97/client/factory.go:91\nmain.runReceive\n\t/app/cmd/thanos/receive.go:196\nmain.registerReceive.func1\n\t/app/cmd/thanos/receive.go:107\nmain.main\n\t/app/cmd/thanos/main.go:143\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:272\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1700\npreparing receive command failed\nmain.main\n\t/app/cmd/thanos/main.go:145\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:272\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1700" 3月 11 10:20:04 localhost.localdomain systemd[1]: thanos-receive.service: Main process exited, code=exited, status=1/FAILURE,怎么解决
03-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值