Esempio n. 1
0
        //--------------------------------------------------------------------------------
        private IEnumerator Initialize()
        {
            AndroidDebug.Logd(TAG, "Initialize:");
            if (AndroidUtils.CheckAndroidVersion(28))
            {
                yield return(AndroidUtils.GrantCameraPermission((string permission, AndroidUtils.PermissionGrantResult result) =>
                {
                    AndroidDebug.Logd(TAG, "Initialize:" + result + "-" + permission);
                    switch (result)
                    {
                    case AndroidUtils.PermissionGrantResult.PERMISSION_GRANT:
                        InitPlugin();
                        break;

                    case AndroidUtils.PermissionGrantResult.PERMISSION_DENY:
                        if (AndroidUtils.ShouldShowRequestPermissionRationale(AndroidUtils.PERMISSION_CAMERA))
                        {
                            //未能取得权限
                            //必须显示FIXME说明用对话框等
                        }
                        break;

                    case AndroidUtils.PermissionGrantResult.PERMISSION_DENY_AND_NEVER_ASK_AGAIN:
                        break;
                    }
                }));
            }
            else
            {
                InitPlugin();
            }

            yield break;
        }
Esempio n. 2
0
        //--------------------------------------------------------------------------------

        /**
         * プラグインを初期化
         * パーミッションの確認を行って取得できれば実際のプラグイン初期化処理#InitPluginを呼び出す
         */
        private IEnumerator Initialize()
        {
#if (!NDEBUG && DEBUG && ENABLE_LOG)
            Console.WriteLine($"{TAG}Initialize:");
#endif
            if (AndroidUtils.CheckAndroidVersion(28))
            {
                yield return(AndroidUtils.GrantCameraPermission((string permission, AndroidUtils.PermissionGrantResult result) =>
                {
#if (!NDEBUG && DEBUG && ENABLE_LOG)
                    Console.WriteLine($"{TAG}OnPermission:{permission}={result}");
#endif
                    switch (result)
                    {
                    case AndroidUtils.PermissionGrantResult.PERMISSION_GRANT:
                        InitPlugin();
                        break;

                    case AndroidUtils.PermissionGrantResult.PERMISSION_DENY:
                        if (AndroidUtils.ShouldShowRequestPermissionRationale(AndroidUtils.PERMISSION_CAMERA))
                        {
                            // パーミッションを取得できなかった
                            // FIXME 説明用のダイアログ等を表示しないといけない
                        }
                        break;

                    case AndroidUtils.PermissionGrantResult.PERMISSION_DENY_AND_NEVER_ASK_AGAIN:
                        break;
                    }
                }));
            }
            else
            {
                InitPlugin();
            }

            yield break;
        }