Engedélyek

Kiegészítők
Plugin.Permissions
Plugin.CurrentActivity (Csak Android esetén kell felrakni, különben hibára fut!)
 
Hivatkozások
using Plugin.Permissions;
using Plugin.Permissions.Abstractions;
 
Módosítások a Projekt.Android > MainActivity.cs esetén
- Legfelül a többi Using közé
using Plugin.CurrentActivity;
 
- OnCreate-n belül
CrossCurrentActivity.Current.Init(this, bundle);
 
- OnRequestPermissionResult függvény tartalma
PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults);
base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
 
Engedélyek megadása
- Android: Projekt.Android > Properties > AndroidManifext.xml
<manifest ...>
    [...]
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
</manifest>
 
- iOS: Projekt.iOS > info.plist
<dict>
    [...]
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>Az alkalmazás működéséhez nélkülözhetetlen a háttérben való helymeghatározás biztosítása, így kérem engedélyezze ennek a lehetőségét.</string>
</dict>
 
Mintafügvény
private async void askPermission()
{
    // Megnézni, hogy a hely lekérdezése engedélyezve van-e
    var status = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Location);
    
    // Ha nincs engedélyezve
    if (status != PermissionStatus.Granted)
    {
 
        // Rendszer felugró ablaka előtti kód lefuttatása
        if (await CrossPermissions.Current.ShouldShowRequestPermissionRationaleAsync(Permission.Location))
        {
            await DisplayAlert("Figyelem", "Kérem engedélyezze a GPS használatát", "OK");
        }
 
        // Rendszer felugró ablakának behozatala
        var results = await CrossPermissions.Current.RequestPermissionsAsync(Permission.Location);
 
        // Ha nem lett megadva a koordinátáva eléréssel kapcsolatos engedély
        results.TryGetValue(Permission.Location, out var result);
        if (result != PermissionStatus.Granted)
        {
            await DisplayAlert("Figyelem", "Bizonyos funkciók nem fognak megfelelően működni!", "OK");
        } else {
            await DisplayAlert("Figyelem", "Most már minden funkció megfelelően fog működni!", "OK");
        }
    }
}
Mobilos kategóriák: