我使用react-native-camera
拍照,并将路径发送到打印机的Android本机代码
但是它将显示一个异常:
E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: file:/data/user/0/com.greeter/cache/Camera/ed59cf72-c664-4674-bec4-46fcfb46070b.jpg (No such file or directory)
这是我的React Native代码将值发送到Android本机,我可以使用路径并成功显示<Image style={styles.photo} source={{ uri: path }} />
。
import { NativeModules } from 'react-native';
const Android = NativeModules.AndroidModule;
printWithAndroid = (path) => {
console.log('print the path is:', path);
Android.printWithAndroid(path);
}
打印路径为file:/data/user/0/com.greeter/cache/Camera/ed59cf72-c664-4674-bec4-46fcfb46070b.jpg
但是当我发送到本机android代码的路径不起作用时。
@ReactMethod
public void printWithAndroid(String path) {
String srcPath = path;
myPrinter.startCommunication();
Log.d("externalStorageDir", externalStorageDir);
// printFile need String
PrinterStatus status = myPrinter.printFile(path); // Here is the exception
myPrinter.endCommunication();
}
为什么该路径在ReactNative android端正常工作,但在本机Android上却显示异常?
如果我尝试使用环境
String externalStorageDir = Environment.getExternalStorageDirectory().toString();
路径为/storage/emulated/0
如果我使用/storage/emulated/0/ed59cf72-c664-4674-bec4-46fcfb46070b.jpg
也不起作用。
如何解决路径问题?预先感谢。