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) { // 忽略移除错误 } } }