fix:1、多语言优化。2、添加死局检查脚本
This commit is contained in:
+87
-87
@@ -214,9 +214,9 @@ namespace Gree.UnityWebView
|
||||
case "SetKeyboardVisible":
|
||||
SetKeyboardVisible(s.Substring(i + 1));
|
||||
break;
|
||||
case "RequestFileChooserPermissions":
|
||||
RequestFileChooserPermissions();
|
||||
break;
|
||||
// case "RequestFileChooserPermissions":
|
||||
// RequestFileChooserPermissions();
|
||||
// break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -239,90 +239,90 @@ namespace Gree.UnityWebView
|
||||
}
|
||||
|
||||
/// Called from Java native plugin to request permissions for the file chooser.
|
||||
public void RequestFileChooserPermissions()
|
||||
{
|
||||
var permissions = new List<string>();
|
||||
using (var version = new AndroidJavaClass("android.os.Build$VERSION"))
|
||||
{
|
||||
if (version.GetStatic<int>("SDK_INT") >= 33)
|
||||
{
|
||||
if (!Permission.HasUserAuthorizedPermission("android.permission.READ_MEDIA_IMAGES"))
|
||||
{
|
||||
permissions.Add("android.permission.READ_MEDIA_IMAGES");
|
||||
}
|
||||
if (!Permission.HasUserAuthorizedPermission("android.permission.READ_MEDIA_VIDEO"))
|
||||
{
|
||||
permissions.Add("android.permission.READ_MEDIA_VIDEO");
|
||||
}
|
||||
if (!Permission.HasUserAuthorizedPermission("android.permission.READ_MEDIA_AUDIO"))
|
||||
{
|
||||
permissions.Add("android.permission.READ_MEDIA_AUDIO");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!Permission.HasUserAuthorizedPermission(Permission.ExternalStorageRead))
|
||||
{
|
||||
permissions.Add(Permission.ExternalStorageRead);
|
||||
}
|
||||
if (!Permission.HasUserAuthorizedPermission(Permission.ExternalStorageWrite))
|
||||
{
|
||||
permissions.Add(Permission.ExternalStorageWrite);
|
||||
}
|
||||
}
|
||||
}
|
||||
#if UNITYWEBVIEW_ANDROID_ENABLE_CAMERA
|
||||
if (!Permission.HasUserAuthorizedPermission(Permission.Camera) && mAllowVideoCapture)
|
||||
{
|
||||
permissions.Add(Permission.Camera);
|
||||
}
|
||||
#endif
|
||||
#if UNITYWEBVIEW_ANDROID_ENABLE_MICROPHONE
|
||||
if (!Permission.HasUserAuthorizedPermission(Permission.Microphone) && mAllowAudioCapture)
|
||||
{
|
||||
permissions.Add(Permission.Microphone);
|
||||
}
|
||||
#endif
|
||||
if (permissions.Count > 0)
|
||||
{
|
||||
#if UNITY_2020_2_OR_NEWER
|
||||
var grantedCount = 0;
|
||||
var deniedCount = 0;
|
||||
var callbacks = new PermissionCallbacks();
|
||||
callbacks.PermissionGranted += (permission) =>
|
||||
{
|
||||
grantedCount++;
|
||||
if (grantedCount + deniedCount == permissions.Count)
|
||||
{
|
||||
StartCoroutine(CallOnRequestFileChooserPermissionsResult(grantedCount == permissions.Count));
|
||||
}
|
||||
};
|
||||
callbacks.PermissionDenied += (permission) =>
|
||||
{
|
||||
deniedCount++;
|
||||
if (grantedCount + deniedCount == permissions.Count)
|
||||
{
|
||||
StartCoroutine(CallOnRequestFileChooserPermissionsResult(grantedCount == permissions.Count));
|
||||
}
|
||||
};
|
||||
callbacks.PermissionDeniedAndDontAskAgain += (permission) =>
|
||||
{
|
||||
deniedCount++;
|
||||
if (grantedCount + deniedCount == permissions.Count)
|
||||
{
|
||||
StartCoroutine(CallOnRequestFileChooserPermissionsResult(grantedCount == permissions.Count));
|
||||
}
|
||||
};
|
||||
Permission.RequestUserPermissions(permissions.ToArray(), callbacks);
|
||||
#else
|
||||
StartCoroutine(RequestFileChooserPermissionsCoroutine(permissions.ToArray()));
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
StartCoroutine(CallOnRequestFileChooserPermissionsResult(true));
|
||||
}
|
||||
}
|
||||
// public void RequestFileChooserPermissions()
|
||||
// {
|
||||
// var permissions = new List<string>();
|
||||
// using (var version = new AndroidJavaClass("android.os.Build$VERSION"))
|
||||
// {
|
||||
// if (version.GetStatic<int>("SDK_INT") >= 33)
|
||||
// {
|
||||
// if (!Permission.HasUserAuthorizedPermission("android.permission.READ_MEDIA_IMAGES"))
|
||||
// {
|
||||
// permissions.Add("android.permission.READ_MEDIA_IMAGES");
|
||||
// }
|
||||
// if (!Permission.HasUserAuthorizedPermission("android.permission.READ_MEDIA_VIDEO"))
|
||||
// {
|
||||
// permissions.Add("android.permission.READ_MEDIA_VIDEO");
|
||||
// }
|
||||
// if (!Permission.HasUserAuthorizedPermission("android.permission.READ_MEDIA_AUDIO"))
|
||||
// {
|
||||
// permissions.Add("android.permission.READ_MEDIA_AUDIO");
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// if (!Permission.HasUserAuthorizedPermission(Permission.ExternalStorageRead))
|
||||
// {
|
||||
// permissions.Add(Permission.ExternalStorageRead);
|
||||
// }
|
||||
// if (!Permission.HasUserAuthorizedPermission(Permission.ExternalStorageWrite))
|
||||
// {
|
||||
// permissions.Add(Permission.ExternalStorageWrite);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// #if UNITYWEBVIEW_ANDROID_ENABLE_CAMERA
|
||||
// if (!Permission.HasUserAuthorizedPermission(Permission.Camera) && mAllowVideoCapture)
|
||||
// {
|
||||
// permissions.Add(Permission.Camera);
|
||||
// }
|
||||
// #endif
|
||||
// #if UNITYWEBVIEW_ANDROID_ENABLE_MICROPHONE
|
||||
// if (!Permission.HasUserAuthorizedPermission(Permission.Microphone) && mAllowAudioCapture)
|
||||
// {
|
||||
// permissions.Add(Permission.Microphone);
|
||||
// }
|
||||
// #endif
|
||||
// if (permissions.Count > 0)
|
||||
// {
|
||||
// #if UNITY_2020_2_OR_NEWER
|
||||
// var grantedCount = 0;
|
||||
// var deniedCount = 0;
|
||||
// var callbacks = new PermissionCallbacks();
|
||||
// callbacks.PermissionGranted += (permission) =>
|
||||
// {
|
||||
// grantedCount++;
|
||||
// if (grantedCount + deniedCount == permissions.Count)
|
||||
// {
|
||||
// StartCoroutine(CallOnRequestFileChooserPermissionsResult(grantedCount == permissions.Count));
|
||||
// }
|
||||
// };
|
||||
// callbacks.PermissionDenied += (permission) =>
|
||||
// {
|
||||
// deniedCount++;
|
||||
// if (grantedCount + deniedCount == permissions.Count)
|
||||
// {
|
||||
// StartCoroutine(CallOnRequestFileChooserPermissionsResult(grantedCount == permissions.Count));
|
||||
// }
|
||||
// };
|
||||
// callbacks.PermissionDeniedAndDontAskAgain += (permission) =>
|
||||
// {
|
||||
// deniedCount++;
|
||||
// if (grantedCount + deniedCount == permissions.Count)
|
||||
// {
|
||||
// StartCoroutine(CallOnRequestFileChooserPermissionsResult(grantedCount == permissions.Count));
|
||||
// }
|
||||
// };
|
||||
// Permission.RequestUserPermissions(permissions.ToArray(), callbacks);
|
||||
// #else
|
||||
// StartCoroutine(RequestFileChooserPermissionsCoroutine(permissions.ToArray()));
|
||||
// #endif
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// StartCoroutine(CallOnRequestFileChooserPermissionsResult(true));
|
||||
// }
|
||||
// }
|
||||
|
||||
#if UNITY_2020_2_OR_NEWER
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user