FMX.AddressBook.TCustomAddressBook.RequestPermission

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

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

C++

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

プロパティ

種類 可視性 ソース ユニット
procedure
function
public
FMX.AddressBook.pas
FMX.AddressBook.hpp
FMX.AddressBook TCustomAddressBook


説明

デバイスのアドレス帳にアクセスするための要求を送信します。

このメソッドを使用すると、デバイスのアドレス帳にアクセスするための要求を送信できます。システムの応答を処理するには、OnPermissionRequest イベント ハンドラを使用します。

重要RequestPermission メソッドは、デバイスのアドレス帳のあらゆる機能にアクセスする前に呼び出さなければなりません。そうしないと、アプリケーションはデバイスのアドレス帳を扱うことができず、機能しなくなるおそれがあります。たとえば、TForm.onShow イベントのハンドラで RequestPermission メソッドを呼び出すことができます。

メモ: iOS デバイスでは、RequestPermission は非同期メソッドです。

具体的に説明するために、以下の例を考えてみましょう。これらのサンプル コードでは、デバイスのアドレス帳にアクセスする権限を要求するように OnShow イベントと OnPermissionRequest イベントのハンドラを実装する方法を示しています。


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


詳細とサンプルについては、「モバイル チュートリアル:アドレス帳コンポーネントを使用する(iOS および Android)」を参照してください。

関連項目