无法在我的世界中将下载的png文件作为皮肤打开

问题描述 投票:0回答:1

在我的Unity Android项目中,下载《我的世界》的模组后,会显示面板,我在其中选择女巫应用程序,我想打开它,在这些应用程序中是《我的世界》,所以我在其中打开下载模式,但对于具有.png扩展名的皮肤,有建议的应用程序中没有我的世界。 用应用程序打开面板的方法

public static void OpenFile(string url, string dataType)
{
    AndroidJavaObject clazz = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
    AndroidJavaObject currentActivity = clazz.GetStatic<AndroidJavaObject>("currentActivity");
    AndroidJavaObject intent = new AndroidJavaObject("android.content.Intent");
    intent.Call<AndroidJavaObject>("addFlags", intent.GetStatic<int>("FLAG_GRANT_READ_URI_PERMISSION"));
    intent.Call<AndroidJavaObject>("setAction", intent.GetStatic<string>("ACTION_VIEW"));
    var apiLevel = new AndroidJavaClass("android.os.Build$VERSION").GetStatic<int>("SDK_INT");
    AndroidJavaObject uri;
    if (apiLevel > 23)
    {
        AndroidJavaClass fileProvider = new AndroidJavaClass("android.support.v4.content.FileProvider");
        AndroidJavaObject file = new AndroidJavaObject("java.io.File", url);
        AndroidJavaObject unityContext = currentActivity.Call<AndroidJavaObject>("getApplicationContext");
        string packageName = unityContext.Call<string>("getPackageName");
        string authority = packageName + ".fileprovider";
        uri = fileProvider.CallStatic<AndroidJavaObject>("getUriForFile", unityContext, authority, file);
    }
    else
    {
        var uriClazz = new AndroidJavaClass("android.net.Uri");
        var file = new AndroidJavaObject("java.io.File", url);
        uri = uriClazz.CallStatic<AndroidJavaObject>("fromFile", file);
    }
    intent.Call<AndroidJavaObject>("setType", dataType);
    intent.Call<AndroidJavaObject>("setData", uri);

    currentActivity.Call("startActivity", intent);
}

这就是我调用方法的方式

AndroidOpenUrl.OpenFile(path, "image/png");

应用程序面板显示模式,但不显示皮肤

c# user-interface upload
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.