目次 - SDL 3.0 API(機能別) - 環境固有の機能 - SDL_RequestAndroidPermission

SDL_RequestAndroidPermission

Androidで実行中に権限を非同期に要求する

ヘッダ

SDL3/SDL_system.h

構文

bool SDL_RequestAndroidPermission(const char *permission, SDL_RequestAndroidPermissionCallback cb, void *userdata);

引数

const char *permission要求する権限
SDL_RequestAndroidPermissionCallbackcb要求の応答があったとき呼ばれるコールバック
void *userdataアプリケーションからコールバックに渡すポインタ

戻り値

(bool) 要求を行えたとき真, エラーのとき偽を戻す. 要求の結果は戻り値ではなくコールバックで通知される. SDL_GetError()を呼んで詳細を知ることができる.

詳細

これはSDLに組み込まれた機能を使用する場合は必要ない. 標準SDL APIを使用したマイクからの録音, カメラ画像の読込の権限の要求は自動的に行われる.

この関数はブロックしない. その代わりに, 要求の結果が決まったときアプリケーションが渡したコールバックが呼ばれる. コールバックは別のスレッドで呼ばれる可能性があり, またシステムダイアログでユーザに応答を求めることがあるため遅れる可能性がある. 既に特定の権限が与えられている場合でもコールバックは呼ばれる. その場合は, 恐らく関数から戻る前に現在のスレッドでコールバックが呼ばれる.

要求に失敗したとき, この関数は偽を戻しコールバックは呼ばれないが, それはメモリ不足など致命的な場合に限られる. 通常はコールバックを通じて要求の許可不許可が得られる.

parameter引数の値はここにある:

https://developer.android.com/reference/android/Manifest.permission

スレッドセーフ

この関数はどのスレッドからも安全に呼べる.

バージョン

SDL 3.2.0以降

SDL Wikiへのリンク

SDL_RequestAndroidPermission - SDL Wiki