Unity读取Android本地图片

unity读取Android本地图片

一、安卓读取路径

安卓路径:"file:///storage/emulated/0/"+自己图片的路径

例:"file:///storage/emulated/0/small.jpg"

二、unity搭建

使用UI简单搭个界面

三、新建一个脚本

代码内容如下

csharp 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Networking;
using UnityEngine.Android;

public class Test : MonoBehaviour
{
    string url;
    public InputField input;
    public Button btn;
    public RawImage im;
    void Start()
    {
#if UNITY_ANDROID
        //安卓平台要请求从外部设备读写权限,如果安装后通过了权限请求,则以后这个APP就不会弹出请求权限框
        //但若安装后请求多次权限,都不通过,则多次后就不会弹出请求权限框

        //请求从 (SD 卡等)外部存储读取的权限
        if (!Permission.HasUserAuthorizedPermission(Permission.ExternalStorageRead))
        {
            Permission.RequestUserPermission(Permission.ExternalStorageRead);
        }

        //请求 写入外部存储(如 SD 卡)的权限       
        if (!Permission.HasUserAuthorizedPermission(Permission.ExternalStorageWrite))
        {
            Permission.RequestUserPermission(Permission.ExternalStorageWrite);
        }
#endif
        btn.onClick.AddListener(BtnOnClick);
        url = "file:///storage/emulated/0/small.jpg";
    }

    public void BtnOnClick()
    {
        url = input.text;
        StartCoroutine(getMap());
    }
    IEnumerator getMap()
    {
        UnityWebRequest webRequest = UnityWebRequestTexture.GetTexture(url);
        yield return webRequest.SendWebRequest();
        //等待请求完成
        while (!webRequest.isDone)
        {
            yield return null;
        }
        if (string.IsNullOrEmpty(webRequest.error))
        {
            Texture2D texture2D = DownloadHandlerTexture.GetContent(webRequest);
            if (texture2D)
            {
                im.texture = texture2D;
            }
        }
        else
        {
            Debug.Log("失败");
        }
    }
}

四、手机根目录下放一张small.jpg图片

五、打开程序

点击Button按钮读取,读取成功显示图片

相关推荐
峥嵘life28 分钟前
Android getprop 属性限制详解:User 版本属性获取问题分析
android·开发语言·python·学习
一航jason1 小时前
Speed Tools:一套低侵入的 Android 插件化 + 动态换肤 + 字体切换框架
android·插件化·组件化·换肤
想不明白的过度思考者2 小时前
Unity学习笔记——虚拟摇杆实现笔记(事件触发器的使用、UGUI 坐标转换)
笔记·学习·unity
魔士于安2 小时前
unity volumefog带各种demo第一人称 wsad 穿墙控制
游戏·unity·游戏引擎·贴图·模型
李斯维2 小时前
Jetpack 可观察数据容器 LiveData 的入门与基础使用
android·android jetpack
问心无愧05133 小时前
ctf show web入门261
android·前端·笔记
alexhilton3 小时前
车载系统中的可扩展UI:从UI嵌入到系统窗口编排
android·kotlin·android jetpack
Cloud_Shy6184 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第一章 Item 4 - 6)
android·数据库·论文阅读·python
therese_100864 小时前
安卓面试题
android
码云骑士4 小时前
Android Launcher启动过程
android