> For the complete documentation index, see [llms.txt](https://doc.sysdevmobile.com/kalipso5/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.sysdevmobile.com/kalipso5/developing/form/actions/actions-description/group-others/haspermission.md).

# Has permission

Checks if the App has the specified permission on the system.

Action available for the following operating systems:

![](/files/-MGIiDGuNcrVFP-DbUma)

### Parameters

***Permission***

* **\<Dynamic>**
* **Location**
* **Background Location**
* **Bluetooth Scan**
* **Bluetooth Connect**
* **Camera**
* **Microphone**
* **Notifications**
* **Phone Call**
* **Send SMS**

{% hint style="info" %}
To specify multiple, select Dynamic and specify values separated by CR
{% endhint %}

***Target Has Permission***

* Control or variable that will receive the permission status.\
  0 - No permission\
  1 - Permission granted

***Target Should Show UI***

* Hint if the App should show an UI explaining the user why the App needs the permission.\
  When the App does not have a permission and this is 1- Yes, then use this as an hint that you should show a message to the user saying why you are going to use. This normally is 0 - No, when the user has actively denied this permission before.\
  0 - No\
  1 - Yes

{% hint style="info" %}
Android specific:

* Background location is not requested at runtime, so it will trigger normal Location request
* Using Dynamic string, you can specify an Android SDK string permission like "android.permission.BLUETOOTH\_SCAN" for scaning bluetooth devices.
  {% endhint %}

{% hint style="info" %}
iOS specific:

* Phone Call and SMS are not requested at runtime, so always returns Granted
* Classic Bluetooth cannot be used, so always returns No.
  {% endhint %}

{% hint style="info" %}
Win10 specific:

* Only Location, Camera and Microphone are requested at runtime, so other permissions always return Yes
* Background location is not requested at runtime, so it will trigger normal Location request
* Calling this on Win10 can trigger a system dialog requesting permission to the user
  {% endhint %}

{% hint style="info" %}
Win32 specific:

* The concept of runtime permissions does not exists on this platform, so always returns Yes.
  {% endhint %}
