【问题标题】:I need to open my my files in /data/data/{package-name}/files using QuickOffice in Android我需要在 Android 中使用 QuickOffice 在 /data/data/{package-name}/files 中打开我的文件
【发布时间】:2011-11-04 16:04:14
【问题描述】:

我需要你的 hrlp。现在,我被打动了。 1)我的设备没有 SD 卡。 2)在我的应用程序中,我的内存下有 MS 文件,如 ppt、xls 甚至 pdf 3)我的设备中有 quickoffice。 4)当我使用适当的 Mime 类型启动视图意图时,我得到以下错误:

ERR/Quickoffice(15141): java.io.FileNotFoundException: /data/data/packagename/files/folder/something.pptx(权限被拒绝) 01965 ERR/Quickoffice(15141):在 org.apache.harmony.luni.platform.OSFileSystem.openImpl(本机方法) ERR/Quickoffice(15141):在 org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:152) ERR/Quickoffice(15141):在 java.io.FileInputStream.(FileInputStream.java:82) ERR/Quickoffice(15141):在 java.io.FileInputStream.(FileInputStream.java:134) ERR/Quickoffice(15141):在 android.content.ContentResolver.openInputStream(ContentResolver.java:300) ERR/Quickoffice(15141):在 com.qo.android.quickcommon.OfficeActivity.a(未​​知来源) ERR/Quickoffice(15141):在 com.qo.android.quickcommon.OfficeActivity.a(未​​知来源) ERR/Quickoffice(15141):在 com.qo.android.quickword.Quickword.onCreate(未知来源) ERR/Quickoffice(15141):在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1052) 01965 ERR/Quickoffice(15141):在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) ERR/Quickoffice(15141):在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 01965 ERR/Quickoffice(15141):在 android.app.ActivityThread.access$2300(ActivityThread.java:125) 01965 ERR/Quickoffice(15141):在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 01965 ERR/Quickoffice(15141):在 android.os.Handler.dispatchMessage(Handler.java:99) 01965 ERR/Quickoffice(15141): 在 android.os.Looper.loop(Looper.java:123) 01965 ERR/Quickoffice(15141):在 android.app.ActivityThread.main(ActivityThread.java:4627) 01965 ERR/Quickoffice(15141):在 java.lang.reflect.Method.invokeNative(本机方法) 01965 ERR/Quickoffice(15141):在 java.lang.reflect.Method.invoke(Method.java:521) 01965 ERR/Quickoffice(15141):在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 01965 ERR/Quickoffice(15141):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 01965 ERR/Quickoffice(15141):在 dalvik.system.NativeStart.main(本机方法)

是否有任何解决方法/解决方案。请建议:)提前谢谢

【问题讨论】:

    标签: android quickoffice


    【解决方案1】:

    你的包名中的文件只能被你的应用程序访问。 如果您想在您的应用程序之外访问此文件,请将其写入某个共享位置,例如getExternalStorageDirectory()。

    【讨论】:

    • 谢谢 Manan....这就是问题所在。我需要将它作为应用程序特定的文件(因为我没有 sdcard 并且我需要将它沙盒化)。没有用于查看 ms 的内置库格式。我真的很想看看过去是否有人遇到过类似的问题以阐明一些问题。问题很简单,但解决方案不是:(
    • 实际上,我为此做了一个解决方法。当我创建文件时,我创建为 openFileoutput("filename",world_readable)。然后,它可以被第三方打开。
    【解决方案2】:

    您必须使用 ContentProvider 来访问内部存储中的文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-09
      • 2012-03-04
      • 2013-10-02
      • 2011-07-26
      • 1970-01-01
      • 2012-03-31
      • 1970-01-01
      相关资源
      最近更新 更多