From c7f1f450a5a4a96107cb6b7249d3bf86adcbdb16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=BCleyman=20Yasir=20KULA?= Date: Tue, 3 Mar 2020 15:49:47 +0300 Subject: [PATCH] Updated Asset Store link --- README.md | 6 ++++-- RuntimePermissions.unitypackage | Bin 9739 -> 0 bytes 2 files changed, 4 insertions(+), 2 deletions(-) delete mode 100644 RuntimePermissions.unitypackage diff --git a/README.md b/README.md index 6abc761..a94fb18 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ![runtime_permission](Images/permission.png) -**Available on Asset Store:** https://www.assetstore.unity3d.com/en/#!/content/117803 +**Available on Asset Store:** https://assetstore.unity.com/packages/tools/integration/android-runtime-permissions-117803 **Forum Thread:** https://forum.unity.com/threads/open-source-androidruntimepermissions-manage-runtime-permissions-synchronously-on-android-m.528833/ @@ -11,7 +11,8 @@ This plugin helps you query/request runtime permissions **synchronously** on Android M and later. It also works on older Android versions and detects whether a requested permission is declared in AndroidManifest or not. ## How To -Simply import *RuntimePermissions.unitypackage* to your project and you are good to go! There is one optional step, though: by default, Unity shows a permission dialog on startup to prevent plugins from crashing/malfunctioning. This can be disabled, if you want; but you must make sure to handle all the runtime permissions carefully in your app's lifecycle. To disable this dialog, add the following line inside the `...` tag of *Plugins/Android/AndroidManifest.xml*: + +Simply import [RuntimePermissions.unitypackage](https://github.com/yasirkula/UnityAndroidRuntimePermissions/releases) to your project and you are good to go! There is one optional step, though: by default, Unity shows a permission dialog on startup to prevent plugins from crashing/malfunctioning. This can be disabled, if you want; but you must make sure to handle all the runtime permissions carefully in your app's lifecycle. To disable this dialog, add the following line inside the `...` tag of *Plugins/Android/AndroidManifest.xml*: ```xml @@ -35,6 +36,7 @@ You can use the following *static* functions of **AndroidRuntimePermissions** to `void OpenSettings()`: opens the settings for this app, from where the user can manually grant permission(s) in case a needed permission's state is *Permission.Denied* ## Example Code + The following code requests *WRITE_EXTERNAL_STORAGE* permission (it must be declared in *AndroidManifest*) when bottom-right corner of the screen is touched: ```csharp diff --git a/RuntimePermissions.unitypackage b/RuntimePermissions.unitypackage deleted file mode 100644 index 66fc71c753c7c58769d2457936f55dfe220fc8f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9739 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 Zr%ka6Pyq^1fC7Fg_z(KQNz(wf004R&BCh}d