Android file 从保存的电子邮件附件中读取kml文件

Android file 从保存的电子邮件附件中读取kml文件,android-file,Android File,我已经在我的应用程序中设置了一个文件“导入-导出”过程(使用gmail客户端),允许用户在彼此之间甚至只是在设备之间共享kml文件。请阅读用户通过的步骤,以便更好地理解 文件输出过程: 1) 用户将地点标记添加到地图。 2) 用户使用用户定义的名称(比如“Saved.kml”)在/sdcard上以kml格式保存placemarks。 3) 用户通过gmail附件“导出”保存的.kml 正在处理的文件: 1) 用户将gmail附件保存到设备上的下载文件夹。 2) 用户选择“导入KML”并从列表中选

我已经在我的应用程序中设置了一个文件“导入-导出”过程(使用gmail客户端),允许用户在彼此之间甚至只是在设备之间共享kml文件。请阅读用户通过的步骤,以便更好地理解

文件输出过程:
1) 用户将地点标记添加到地图。
2) 用户使用用户定义的名称(比如“Saved.kml”)在/sdcard上以kml格式保存placemarks。
3) 用户通过gmail附件“导出”保存的.kml

正在处理的文件:
1) 用户将gmail附件保存到设备上的下载文件夹。
2) 用户选择“导入KML”并从列表中选择Saved.KML。
3) 一切都很完美!地图上显示的地点标记与导出/预期的一样

除了一个主要的缺陷。。。这仅在使用相同的设备进行导入/导出时有效。我有两个装置;Nexus7和LG Motion,它们中的任何一款都非常好用。但我无法让它在两者之间发挥作用,我开始感到非常沮丧。 以下是我尝试过的:

清单更改:
android:sharedUserId=“com.xxx.xxx”
android:sharedUserLabel=“@string/sharedUserLabel”

Runtime.getRuntime().exec(“chmod 444 Saved.kml”);//(需要支持安卓4级)

甚至在解析Saved.kml--importFileIn.renameTo(importFileOut)之前就尝试过这个方法; 文件被重命名,但仍然无法解析

亚洲开发银行外壳显示: -rw-rw-r--root sdcard_rw 867 2013-02-28 10:39 Saved.kml -rw-rw-r--root sdcard_rw 867 2013-02-28 11:44 savedNamed.kml

我使用了“adb push”,它在推送的文件上显示了完全相同的用户ID/权限,但仍然无法加载

当我发现这一点时,我正处于发布前的最后一分钟测试点。 在同一台设备上测试从来没有一个问题。。。请帮忙。

对不起,各位, 通过堆栈溢出来问这个问题让我把我一直在思考的所有问题都打印出来,并最终让我相信这不是一个文件权限问题。通过使用Log.i打印出异常,发现这实际上是一个“未找到文件”错误。这当然是完全不同的事情!路径错误,问题解决了!
感谢您对我的耐心。

更具体地说,我是从设备“下载”文件夹中的文件中提取数据。
在Nexus 7上是:“/storage/simulated/0/Download”。
在LG运动上是:“/sdcard/Download”。
使用“root.getAbsolutePath()+”/Download“我的问题解决了。

更具体地说,是为了帮助: