FMX.AddressBook.TCustomAddressBook.RequestPermission
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)」を参照してください。