はじめに
Android、iOSに限らず、アプリがBluetoothやカメラを利用する際にはユーザがその権限を許可する必要があります。
許可を求めるポップアップが表示され、そこで「許可する」「許可しない」をユーザが選択します。
「許可する」が選択された場合は特に問題ありませんが、「許可しない」が選択された場合は、もう一度許可を求めたり、設定画面から許可するように促す必要があります。
設定画面から許可を促すために設定画面へ飛ばすコードを以下に記述します。
iOS
以下のコードでアプリの設定画面へ飛ばすことができます。
.swift
if let url = URL(string: UIApplication.openSettingsURLString) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
Android
以下のコードでアプリの設定画面へ飛ばすことができます。(kotlin)
.kt
val intent = Intent()
intent.action = Settings.ACTION_APPLICATION_DETAILS_SETTINGS
val packageName = context?.packageName
val uri = Uri.fromParts(
"package",
packageName,
null
)
intent.data = uri
startActivity(intent)
以下の画面に飛びますが、Androidの場合は画像下部の「権限」をタップした先で権限の許可ができます。
設定画面に飛ばす前にその旨を伝えてあげると親切かと思います。