I have this code, but when I change android:targetSdkVersion="31" to android:targetSdkVersion="33" or higher versions it doesn't work, it keeps asking for permission, but the permission doesn't appear, and I've already added these permissions here
<uses-sdk android:minSdkVersion="24" android:targetSdkVersion="33" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
I used it this way on android:targetSdkVersion="31" and it worked perfectly
public async Task<bool> StoragePermission()
{
try
{
var status = await CrossPermissions.Current.CheckPermissionStatusAsync(Plugin.Permissions.Abstractions.Permission.Storage);
if (status == Plugin.Permissions.Abstractions.PermissionStatus.Granted)
return true;
else
{
if (await CrossPermissions.Current.ShouldShowRequestPermissionRationaleAsync(Plugin.Permissions.Abstractions.Permission.Storage))
{
await App.Current.MainPage.DisplayAlert("Galeria de imagens", "Por favor, dê permissão para o Dr. Clin acessar seus arquivos.", "OK");
}
await CrossPermissions.Current.RequestPermissionsAsync(Plugin.Permissions.Abstractions.Permission.Storage);
status = await CrossPermissions.Current.CheckPermissionStatusAsync(Plugin.Permissions.Abstractions.Permission.Storage);
if (status == Plugin.Permissions.Abstractions.PermissionStatus.Granted)
return true;
else
return false;
}
}
catch (Exception ex)
{
Console.WriteLine("Deu um erro ao pegar a permissão de acessar arquivos =========>" + ex.Message);
return false;
}
}
, if anyone has a way to fix it, I appreciate it
I thought that adding the permissions to AndroidManifest.xml would work correctly.