RequestPermissions未显示对话框框,Xamarin C#。

5

我是新手使用xamarin。我发现很多类似的主题并尝试了它们。但是没有一个适用于xamarin。

我在AndroidManifest中添加了权限,适用于Android M以下的操作系统。

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

我使用了这份文档并实现了下面的代码。

string[] permissions ={Manifest.Permission.ReadExternalStorage};
ActivityCompat.RequestPermissions(Activity, permissions, STORAGE_REQUEST_CODE);

ActivityCompat.RequestPermissions没有显示对话框。


1
安卓设备的版本是多少?因为它只支持6.0以上的安卓系统。 - MShah
@MShah 这是Android 8.1。 - Tharindu Wanninayake
1
尝试在主活动中编写代码,在LoadApplication(new App());之后。 - MShah
2个回答

4

我找到了解决我的问题的方法

RequestPermissions(new String[] { Manifest.Permission.ReadExternalStorage }, STORAGE_REQUEST_CODE);

0

编辑:或者你可以使用 AlertDialog 请求权限

例如:

string[] permissions ={Manifest.Permission.ReadExternalStorage};


AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.SetTitle("Asking for permisstions");
builder.SetMessage("This app needs this permission to continue");
builder.SetPositiveButton("Request Permissions",(senderAlert,args)=>
{
  RequestPermissions(permissions,0);
});

builder.SetNegativeButton("Cancel",(senderAlert,args)=>
{
 Toast.MakeText(this,"Canceled",ToastLength.Short).Show();
});

Dialog dialog = builder.Create();
dialog.Show();

注意:此方法适用于Android 6.0及以上版本。


我的问题是RequestPermissions(permissions,0);无法工作。它应该来自系统。这不是我们可以创建的自定义对话框。 - Tharindu Wanninayake
我明白了,不幸的是我的VS有问题,我无法运行和测试,因为我对Xamarin还很陌生,但是我在记事本中编写了这个代码,并认为它可能会起作用,因为问题出在对话框本身。 - Kaj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接