【问题标题】:Access Android Paths from Codename one?从代号一访问 Android 路径?
【发布时间】:2019-02-23 23:18:35
【问题描述】:

我正在尝试制作一个可以打开从本机代码返回的文件的代码的 sn-p,但如果我使用 FileSystemStorage.getInstance().exists(file) 即使我刚刚从本机代码返回了路径,它也总是返回 false

我的代码返回这样的路径:

String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getAbsolutePath() +"/"+param+System.currentTimeMillis()+".png";

如果你检查你可以在图库中找到它,但是当返回到代号一时它看不到文件

任何建议

---------------- 更新:

我是这样称呼本地人的,但它似乎没有等待呼叫完成

final StatusClass imagePath = new StatusClass();    
Display.getInstance().invokeAndBlock(new Runnable() {
                public void run() {
                    Log.p("hello native");
                    imagePath.setStatusMsg(AccessNativeCamera.capturePhoto("Test"));

                Log.p("goodbye native");
                Log.p("imagePath "+imagePath);
            }
        });

        if(FileSystemStorage.getInstance().exists("file://" + imagePath.getStatusMsg())){
            Dialog.show("Check ","File exists", null, null);
        }

问候,

【问题讨论】:

    标签: android file codenameone gallery native


    【解决方案1】:

    这应该可行:

    FileSystemStorage.getInstance().exists("file://" + file)
    

    代号一中的路径始终是绝对的,应使用 URL 表示法。

    【讨论】:

    • API 可能是异步的,这是一个不同的问题。请注意,Android API 需要运行在 Android EDT codenameone.com/blog/tip-use-native-edt.html
    • 谢谢,但我设法通过添加一点延迟来检查文件是否已经存在,从而解决了我的问题
    • 我正在尝试做Image.createImage(FileSystemStorage.getInstance().openInputStream("NativePathRetunred from iOS")));来自IOS的本地路径是这种形式:file:///var/mobile/Containers/Data/Application/XX-XXXX-XXXXXX/Documents/IMG_0331.JPG,但是即使路径正确并且图像保存在照片中,图像也没有成功创建图书馆
    • 我什至尝试做Display.getInstance().execute("NativePathReturned from iOS"),但它没有打开图像
    • 你从哪里得到的路径?应用在移动设备上是孤立的,无法访问所有路径
    猜你喜欢
    • 2017-11-29
    • 2020-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多