如何使用Unity刷新android图库

本文关键字:android 图库 刷新 Unity 何使用 | 更新日期: 2023-09-27 17:53:30

很多人都在问这个问题,我已经浏览了谷歌搜索结果的前几页,并尝试了我找到的每一个解决方案-似乎都不起作用。

似乎是因为不同的版本发生了变化……

我已经从Unity asset商店购买了一个资产,但该资产本身也不会这样做。(我已经联系了资产创建者,但还没有听到任何关于这个的回复)。

所以…当前刷新图库的方法是什么?在最新版本的安卓系统中,什么是有效的?

如何使用Unity刷新android图库

好吧,在绞尽脑汁之后,我找到了一个解决方案。

        using (AndroidJavaClass jcUnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
        using (AndroidJavaObject joActivity = jcUnityPlayer.GetStatic<AndroidJavaObject>("currentActivity"))
        using (AndroidJavaObject joContext = joActivity.Call<AndroidJavaObject>("getApplicationContext"))
        using (AndroidJavaClass jcMediaScannerConnection = new AndroidJavaClass("android.media.MediaScannerConnection"))
        using (AndroidJavaClass jcEnvironment = new AndroidJavaClass("android.os.Environment"))
        using (AndroidJavaObject joExDir = jcEnvironment.CallStatic<AndroidJavaObject>("getExternalStorageDirectory"))
        {
            jcMediaScannerConnection.CallStatic("scanFile", joContext, new string[] { Path }, null, null);
        }

Path应该等于图像的绝对路径。根据需要在字符串[]中插入更多的路径。我已经在Android 6.0.1上测试过了,效果非常好!