killapp/Assets/Plugins/Android/FilePickerFragment.java

45 lines
1.2 KiB
Java
Raw Normal View History

2026-03-30 16:25:00 +08:00
package com.unity.filepicker;
import android.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
/**
* 透明的Fragment用于监听Activity结果
*/
public class FilePickerFragment extends Fragment {
private FilePickerResultCallback callback;
public interface FilePickerResultCallback {
void onActivityResult(int requestCode, int resultCode, Intent data);
}
public void setCallback(FilePickerResultCallback cb) {
this.callback = cb;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 保留实例避免配置变化时Fragment被销毁
setRetainInstance(true);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (callback != null) {
callback.onActivityResult(requestCode, resultCode, data);
}
// 从Activity中移除Fragment
try {
getFragmentManager().beginTransaction().remove(this).commit();
} catch (Exception e) {
// 忽略移除错误
}
}
}