FMX.AddressBook.TCustomAddressBook.RequestPermission

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

procedure RequestPermission(ADisplayRationaleEvent: TDisplayRationaleEvent = nil); overload;

C++

void __fastcall RequestPermission(System::Permissions::TDisplayRationaleEvent ADisplayRationaleEvent = 0x0)/* overload */;

Propriétés

Type Visibilité  Source Unité  Parent
procedure
function
public
FMX.AddressBook.pas
FMX.AddressBook.hpp
FMX.AddressBook TCustomAddressBook


Description

RequestPermission envoie une requête pour demander d'accéder au carnet d'adresses d'un périphérique. Pour traiter la réponse du système, utilisez le gestionnaire d'événement OnPermissionRequest.

Pensez à utiliser RequestPermission avant d'accéder à une fonctionnalité du carnet d'adresses d'un périphérique. Sinon, votre application ne pourra pas travailler avec le carnet d'adresses d'un périphérique et pourra échouer. Par exemple, vous pouvez appeler la méthode RequestPermission dans le gestionnaire d'événement TForm.onShow.

RequestPermission possède un nouveau paramètre ADisplayRationaleEvent: TDisplayRationaleEvent qui est un rappel visant à expliquer à l'utilisateur pourquoi l'autorisation est nécessaire.

Conseil: Après l'affichage de la demande d'autorisation, pensez à appeler la routine APostRationalProc, qui enverra les demandes d'autorisation requises.
Remarque: Sur les périphériques iOS, RequestPermission est une méthode asynchrone.

Exemples

A titre explicatif, prenons les exemples suivants : ces extraits de code illustrent comment implémenter les gestionnaires d'événement OnShow et OnPermissionRequest pour demander l'autorisation d'accéder au carnet d'adresses d'un périphérique.


Delphi :
procedure TForm1.FormShow(Sender: TObject);
begin
  AddressBook1.RequestPermission;
end;

procedure TForm1.AddressBook1PermissionRequest(ASender: TObject;
  const AMessage: string; const AAccessGranted: Boolean);
begin
  if AAccessGranted then
  begin
   // Do something with Address Book
  end
  else
    ShowMessage('You cannot access Address Book. Reason: ' + sLineBreak + AMessage);
end;
C++Builder :
void __fastcall TForm1::FormShow(TObject *Sender) {
	AddressBook1->RequestPermission();	
}


void __fastcall TForm1::AddressBook1PermissionRequest(TObject *ASender,
	const UnicodeString AMessage, const bool AAccessGranted) {
	if (AAccessGranted) {

        // Do something with Address Book 		

	}
	else {
		ShowMessage("You cannot access Address Book. Reason: " + sLineBreak + AMessage);
	}
}

Pour plus d'informations et d'exemples, voir Tutoriel mobile : Utilisation d'un composant Carnet d'adresses (iOS et Android).

Voir aussi