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


説明

RequestPermission は、デバイスのアドレス帳にアクセスするリクエストを送信します。システム レスポンスを処理するには、OnPermissionRequest イベント ハンドラを使用します。

デバイスのアドレス帳の機能にアクセスする前に RequestPermission メソッドを使用する点に、留意してください。そうでなければ、アプリケーションはデバイスのアドレス帳で作業できず、失敗する場合があります。たとえば、TForm.onShow イベント ハンドラで、RequestPermission メソッドを呼び出すことができます。

RequestPermission には、なぜそのアクセス許可が必要なのかを説明するためのコールバックである、新しいパラメータ ADisplayRationaleEvent: TDisplayRationaleEvent があります。

ヒント: 根拠の表示が終わったら、必ず APostRationalProc ルーチンを呼び出してください。これにより、必要なアクセス許可が要求されます。
メモ: 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)」を参照してください。

関連項目