美文网首页
unity刷新安卓相册

unity刷新安卓相册

作者: Walk_In_Jar | 来源:发表于2018-02-25 13:34 被阅读0次

注意安卓10由于权限问题,无法直接访问dcim相册目录,谨慎使用下方法

提供扩展类
新建项目 添加android library: toastlibrary

package com.example.toastlibrary;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import java.io.File;
public class ScanFiles {
    public void ScanFile(Context context, String filePath) {
        Intent scanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
        scanIntent.setData(Uri.fromFile(new File(filePath)));
        context.sendBroadcast(scanIntent);
    }
}

导出后,选择aar包里的classes.jar
放入unity

unity调用

RefreshAlbum.RefreshAlbumByMyself(mFileName);  //刷新安卓相册 mFileName为图片路径
using UnityEngine;
using System.Collections;

public class RefreshAlbum
{
    public static void RefreshAlbumByMyself(string photoFullName)
    {
        AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
        AndroidJavaObject context = currentActivity.Call<AndroidJavaObject>("getApplicationContext");
        AndroidJavaObject jo = new AndroidJavaObject("com.example.toastlibrary.ScanFiles");
        jo.Call("ScanFile", context, photoFullName);

        AndroidJavaClass toast = new AndroidJavaClass("android.widget.Toast");
        currentActivity.Call("runOnUiThread", new AndroidJavaRunnable(() =>
        {
            toast.CallStatic<AndroidJavaObject>("makeText", context, "截图成功保存到相册", toast.GetStatic<int>("LENGTH_LONG")).Call("show");
        }));
    }
}

相关文章

网友评论

      本文标题:unity刷新安卓相册

      本文链接:https://www.haomeiwen.com/subject/julrxftx.html