Ejemplo n.º 1
0
        /**
         * onResume活动
         */
        IEnumerator OnResumeEvent()
        {
            AndroidDebug.Logd(TAG, "onResume活动1:" + AndroidUtils.isPermissionRequesting + "-" + AndroidUtils.CheckAndroidVersion(28));
            AndroidDebug.Logd(TAG, "onResume活动2:" + AndroidUtils.CheckAndroidVersion(28));
            AndroidDebug.Logd(TAG, "onResume活动3:" + "-" + AndroidUtils.HasPermission(AndroidUtils.PERMISSION_CAMERA));
            if (!AndroidUtils.isPermissionRequesting &&
                AndroidUtils.CheckAndroidVersion(28) &&
                !AndroidUtils.HasPermission(AndroidUtils.PERMISSION_CAMERA))
            {
                AndroidDebug.Logd(TAG, "onResume活动:" + AndroidUtils.isPermissionRequesting);
                yield return(Initialize());
            }
            AndroidDebug.Logd(TAG, "onResume活动3:" + "-" + cameraInfos.Count);

            KeyValuePair <string, CameraInfo>?found = null;

            foreach (var elm in cameraInfos)
            {
                if (elm.Value.activeCameraId == 0)
                {   //有附接但未打开的设备时
                    found = elm;
                    break;
                }
            }
            if (found != null)
            {   //有附接但未打开的设备时
                var deviceName = found?.Key;
                if (!AndroidUtils.isPermissionRequesting)
                { //不在请求权限时
                    RequestUsbPermission(deviceName);
                }
                else if (HasUsbPermission(deviceName))
                { //已经有权限时
                    AndroidUtils.isPermissionRequesting = false;
                    OnEventPermission(deviceName);
                }
            }

            yield break;
        }
Ejemplo n.º 2
0
        /**
         * onResumeイベント
         */
        IEnumerator OnResumeEvent()
        {
#if (!NDEBUG && DEBUG && ENABLE_LOG)
            Console.WriteLine($"{TAG}OnResumeEvent:" +
                              $"isPermissionRequesting={AndroidUtils.isPermissionRequesting}");
#endif
            if (!AndroidUtils.isPermissionRequesting &&
                AndroidUtils.CheckAndroidVersion(28) &&
                !AndroidUtils.HasPermission(AndroidUtils.PERMISSION_CAMERA))
            {
                yield return(Initialize());
            }

            KeyValuePair <string, CameraInfo>?found = null;
            foreach (var elm in cameraInfos)
            {
                if (elm.Value.activeCameraId == 0)
                {                   // アタッチされたけどオープンされていない機器があるとき
                    found = elm;
                    break;
                }
            }
            if (found != null)
            {                   // アタッチされたけどオープンされていない機器があるとき
                var deviceName = found?.Key;
                if (!AndroidUtils.isPermissionRequesting)
                {                 // パーミッション要求中ではないとき
                    RequestUsbPermission(deviceName);
                }
                else if (HasUsbPermission(deviceName))
                {                 // すでにパーミッションがあるとき
                    AndroidUtils.isPermissionRequesting = false;
                    OnEventPermission(deviceName);
                }
            }

            yield break;
        }