gpt4 book ai didi

java - 尝试向 React Native 添加 openFile 方法,无法调用 getCurrentActivity

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:52:27 26 4
gpt4 key购买 nike

在 react-native-fs ( https://github.com/johanneslumpe/react-native-fs ) 的一个分支中,我试图添加这段代码:

public class RNFSManager extends ReactContextBaseJavaModule {

public RNFSManager(ReactApplicationContext reactContext) {
super(reactContext);
}
@ReactMethod
public void openFile(String filepath, Callback callback) {
try {
File file = new File(filepath);
MimeTypeMap myMime = MimeTypeMap.getSingleton();
Intent newIntent = new Intent(Intent.ACTION_VIEW);
String mimeType = myMime.getMimeTypeFromExtension(fileExt(filepath).substring(1));
newIntent.setDataAndType(Uri.fromFile(file), mimeType);
newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Activity currentActivity = getCurrentActivity();
if (currentActivity != null) {
currentActivity.startActivity(newIntent);
} else {
this.getReactApplicationContext().startActivity(newIntent);
}
} catch (Exception ex) {
ex.printStackTrace();
callback.invoke(makeErrorPayload(ex));
}
}

但是当我构建它时,我得到了这个错误:

.../android/src/main/java/com/rnfs/RNFSManager.java:138: error: cannot find symbol
Activity currentActivity = getCurrentActivity();
^
symbol: method getCurrentActivity()
1 error

我认为我在核心 React Native 存储库中以与此完全相同的方式使用 ReactContextBaseJavaModule:

https://github.com/facebook/react-native/blob/235b16d93287061a09c4624e612b5dc4f960ce47/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java

最佳答案

事实证明,react-native-fs 在其构建过程中有其内部的 react-native 依赖。因此,即使整个应用程序都是基于 react native v0.25 构建的,react-native-fs 是基于 react-native v0.12 构建的,它没有我试图使用的 API。这绝对是疯了。

关于java - 尝试向 React Native 添加 openFile 方法,无法调用 getCurrentActivity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38060555/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com