FMX.AddressBook.TCustomAddressBook.RequestPermission
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.
APostRationalProc
, qui enverra les demandes d'autorisation requises.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.
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;
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).