Android Smack 4.1文件传输,错误无法读取文件

Android Smack 4.1文件传输,错误无法读取文件,android,Android,这是我的演示代码 谁能帮我摆脱这个错误?我的代码(无法读取文件)IllegalArgumentException出现以下异常 09-22 10:29:22.485 13759-13759/com.abc.xyz E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.abc.xyz, PID: 13759 java.lang.IllegalArgumentException: Could not read fil

这是我的演示代码 谁能帮我摆脱这个错误?我的代码(无法读取文件)IllegalArgumentException出现以下异常

09-22 10:29:22.485  13759-13759/com.abc.xyz E/AndroidRuntime﹕ FATAL EXCEPTION: main
        Process: com.abc.xyz, PID: 13759
        java.lang.IllegalArgumentException: Could not read file
                at org.jivesoftware.smackx.filetransfer.OutgoingFileTransfer.sendFile(OutgoingFileTransfer.java:220)
                at com.abc.xyz.FileTransferActivity.transferFile(FileTransferActivity.java:93)
                at com.abc.xyz.FileTransferActivity.onClick(FileTransferActivity.java:77)
                at android.view.View.performClick(View.java:4780)
                at android.view.View$PerformClick.run(View.java:19866)
                at android.os.Handler.handleCallback(Handler.java:739)
                at android.os.Handler.dispatchMessage(Handler.java:95)
                at android.os.Looper.loop(Looper.java:135)
                at android.app.ActivityThread.main(ActivityThread.java:5254)
                at java.lang.reflect.Method.invoke(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:372)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
这是密码


自Android 4.4以来,您无法直接访问SD卡中不在软件包目录内的任何文件。检查答案,这里它告诉您如何访问SD卡中的包文件以及如何创建这样的目录

一旦您创建了这些目录并将文件放入其中,您将能够毫无问题地访问您的文件

相反,如果您想访问SD卡中的任何文件,则有一个for 4.4+版本,它可能使您能够访问SD卡中的任何文件。但我不推荐


希望有帮助

问题应该是您的文件不在给定路径中,或者您没有读取该文件的权限(是否在SD卡中?)是的,它在SD卡中,我已经检查过了。
private void transferFile(final String filePath) {

    FileTransferManager fileTransferManager = FileTransferManager.getInstanceFor(MainActivity.Connection);
    OutgoingFileTransfer transfer = fileTransferManager.createOutgoingFileTransfer("abc@blackberry-pc/developers");
    try
    {
        transfer.sendFile(new File(filePath),"");
    }
    catch (SmackException e)
    {
        e.printStackTrace();
    }

    //RECEIVE FILES
    fileTransferManager.addFileTransferListener(new FileTransferListener() {
        @Override
        public void fileTransferRequest(FileTransferRequest request) {
            IncomingFileTransfer transfer = request.accept();
            try {
                transfer.recieveFile(new File(filePath));
            } catch (SmackException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    });
}