Context.GrantUriPermission(String, Uri, ActivityFlags) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
无论该包是否具有访问 Uri 的内容提供程序的常规权限,都授予访问另一个包的特定 URI 的权限。
[Android.Runtime.Register("grantUriPermission", "(Ljava/lang/String;Landroid/net/Uri;I)V", "GetGrantUriPermission_Ljava_lang_String_Landroid_net_Uri_IHandler")]
public abstract void GrantUriPermission (string? toPackage, Android.Net.Uri? uri, Android.Content.ActivityFlags modeFlags);
[<Android.Runtime.Register("grantUriPermission", "(Ljava/lang/String;Landroid/net/Uri;I)V", "GetGrantUriPermission_Ljava_lang_String_Landroid_net_Uri_IHandler")>]
abstract member GrantUriPermission : string * Android.Net.Uri * Android.Content.ActivityFlags -> unit
参数
- toPackage
- String
要允许访问 URI 的包。
- uri
- Uri
要向其授予访问权限的 URI。
- modeFlags
- ActivityFlags
所需的访问模式。
- 属性
注解
无论该包是否具有访问 Uri 的内容提供程序的常规权限,都授予访问另一个包的特定 URI 的权限。 这可用于授予特定临时权限,通常用于响应用户交互(例如打开你希望其他人显示的附件的用户)。
通常,应使用 Intent#FLAG_GRANT_READ_URI_PERMISSION Intent.FLAG_GRANT_READ_URI_PERMISSION
或 Intent#FLAG_GRANT_WRITE_URI_PERMISSION Intent.FLAG_GRANT_WRITE_URI_PERMISSION
用于启动活动的意向,而不是直接使用此函数。 如果直接使用此函数,则应确保在不再允许目标访问它时调用 #revokeUriPermission
。
若要成功,拥有 Uri 的内容提供程序必须在其清单中设置 android.R.styleable#AndroidManifestProvider_grantUriPermissions grantUriPermissions
属性或包含标记 android.R.styleable#AndroidManifestGrantUriPermission <grant-uri-permissions>
。
适用于 . 的 android.content.Context.grantUriPermission(java.lang.String, android.net.Uri, int)
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
另请参阅
- <xref:Android.Content.Context.RevokeUriPermission(Android.Net.Uri%2c+Android.Content.ActivityFlags)>