Я создал Android Плагин Studio для единства. Код Android Studio java используется для запуска функции выбора файлов на мобильном устройстве Android.
Мой java код:
private TextView txt_pathShow;
private Button btn_filePicker;
private Intent myFileIntent;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
btn_filePicker.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
myFileIntent = new Intent(Intent.ACTION_GET_CONTENT);
myFileIntent.setType("*/*");
startActivityForResult(myFileIntent, 10);
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 10:
if (resultCode == RESULT_OK) {
String path = data.getData().getPath();
txt_pathShow.setText(path);
}
break;
}
}
public String getPath() {
return txt_pathShow.toString();
}
Затем мне нужно вызвать эту функцию в единстве, чтобы выбрать видеофайл для воспроизведения в моих приложениях единства. Я попробовал приведенный ниже код, но он не работает.
public void GetFile()
{
if (Application.platform == RuntimePlatform.Android)
{
using (var androidPlugin = new AndroidJavaClass("com.example.putragram.MyPlugin"))
{
using (var javaUnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
using (var currentActivity = javaUnityPlayer.GetStatic<AndroidJavaObject>("currentActivity"))
{
//path = androidPlugin.Call<string>("getPath", currentActivity);
//path = androidPlugin.Call<string>("onCreate", currentActivity);
path = androidPlugin.Call<string>("onActivityResult", currentActivity);
}
}
}
}
UpdateVideo();
}
void UpdateVideo()
{
UnityWebRequest www = new UnityWebRequest("jar:file:///" + path);
video.url = www.url;
}
Надеюсь, кто-нибудь может помочь мне запустить эту функцию. Я потратил столько времени на это. Большое спасибо!