如何使用 Unity 刷新 android 图库?

How do I refresh the android Gallery using Unity?

很多人问这个问题,我浏览了 google 搜索结果的前几页并尝试了我找到的所有解决方案 - None 似乎有效。

好像是因为版本不同等情况发生了变化...

我已经从 Unity Asset store 购买了一个资产,但资产本身也没有这样做。 (我已经联系了资产创建者,但还没有收到任何回复)。

所以...目前刷新图库的方法是什么?在最新版本的 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);
        }

路径应该等于你的图片的绝对路径。根据需要将更多路径插入到字符串 [] 中。已在 Android 6.0.1 上测试过,效果很好!