FMX.AddressBook.TCustomAddressBook.RequestPermission

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

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

C++

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

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
procedure
function
public
FMX.AddressBook.pas
FMX.AddressBook.hpp
FMX.AddressBook TCustomAddressBook


Beschreibung

RequestPermission sendet eine Anforderung für den Zugriff auf das Adressbuch eines Geräts. Verwenden Sie zur Verarbeitung der Systemantwort die Ereignisbehandlungsroutine OnPermissionRequest.

Verwenden Sie unbedingt die Methode RequestPermission, bevor Sie auf Funktionen eines Geräte-Adressbuchs zugreifen. Andernfalls kann Ihre Anwendung nicht mit dem Adressbuch des Geräts arbeiten und schlägt möglicherweise fehl. Beispielsweise können Sie die Methode RequestPermission in der Ereignisbehandlungsroutine TForm.onShow aufrufen.

RequestPermission verfügt jetzt über den neuen Parameter ADisplayRationaleEvent: TDisplayRationaleEvent. Dies ist ein Callback, um dem Benutzer zu erklären, warum die Berechtigung benötigt wird.

Tipp: Wenn die Anzeige der Begründung beendet ist, müssen Sie die Routine APostRationalProc aufrufen. Dadurch werden die erforderlichen Berechtigungen angefordert.
Hinweis: Auf iOS-Geräten ist RequestPermission eine asynchrone Methode.

Beispiele

Sehen Sie sich zur Klärung die folgenden Beispiele an. Diese Codefragmente illustrieren, wie die Ereignisbehandlungsroutinen OnShow und OnPermissionRequest implementiert werden müssen, um eine Berechtigung zum Zugreifen auf ein Geräte-Adressbuch anzufordern.


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);
	}
}

Weitere Informationen und Beispiele finden Sie unter Mobile-Tutorial: Verwenden einer Adressbuch-Komponente (iOS und Android).

Siehe auch