Право. Я никогда раньше ничего не писал на C# или Java, поэтому я, вероятно, совершенно не прав во всем этом, и, вероятно, это простой ответ, но здесь идет ...Доступ к изображению в плагине Android Unity
У меня есть ультра простое приложение Unity, которое просто запускает плагин android. Плагин должен принять текстовую строку и изображение, которое оно будет делать в виде общей папки.
C#
using UnityEngine;
using System.Collections;
public class RunStuff : MonoBehaviour {
AndroidJavaClass androidClass;
AndroidJavaObject androidActivity;
void Start() {
Debug.Log ("----- UNTIY SCRIPT INIT ----- ");
var pathToImage = Application.streamingAssetsPath + "/meagain.jpg";
Debug.Log (pathToImage);
AndroidJNI.AttachCurrentThread();
androidClass = new AndroidJavaClass("com.something.something.Plugin");
androidActivity = androidClass.GetStatic<AndroidJavaObject>("mContext");
androidActivity.Call("Plugin", pathToImage , "SOME TEST STRING");
Debug.Log ("----- UNTIY SCRIPT END ----- ");
}
}
Java
package com.something.something;
import android.content.Intent;
import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import com.unity3d.player.UnityPlayerActivity;
public class Plugin extends UnityPlayerActivity {
public static Context mContext;
@Override
protected void onCreate(Bundle bundle)
{
super.onCreate(bundle);
mContext = this;
}
public void Plugin(String imagePath, String message) {
Log.d("TAG", imagePath);
Log.d("TAG", message);
// HERE I NEED TO BE ABLE TO USE THE IMAGE
}
}
Все это работает правильно, как я получаю ImagePath и сообщение в пределах класса Java ... Но я просто не могу захватить изображение с ImagePath ,
Изображение находится в рамках проекта Unity под StreamingAssets/meagain.jpg. Если я извлечу сгенерированный apk, я могу увидеть файл, но все мои попытки потерпели неудачу!
У кого-нибудь есть идеи? !!
вместо streamingAssets вы можете использовать Application.persistentDataPath + "/" + imageName. – ApolloSoftware
@ApolloSoftware Попытка, чтобы путь оказался неправильным ... и все еще не удалось ... /storage/emulated/0/Android/data/com.something.something/files/meagain.jpg – rich
где точное местоположение jpg, когда вы извлекаете файл? Где на пути? – ApolloSoftware