Context.GrantUriPermission(String, Uri, ActivityFlags) 方法

定义

无论该包是否具有访问 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_PERMISSIONIntent#FLAG_GRANT_WRITE_URI_PERMISSION Intent.FLAG_GRANT_WRITE_URI_PERMISSION 用于启动活动的意向,而不是直接使用此函数。 如果直接使用此函数,则应确保在不再允许目标访问它时调用 #revokeUriPermission

若要成功,拥有 Uri 的内容提供程序必须在其清单中设置 android.R.styleable#AndroidManifestProvider_grantUriPermissions grantUriPermissions 属性或包含标记 android.R.styleable#AndroidManifestGrantUriPermission &lt;grant-uri-permissions&gt;

适用于 . 的 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)>