我在android中使用隐式意图进行文件编辑有一个问题,它已经解决了,知道了,需要花费大量的时间和排列和组合来解决它,但最后我仍然怀疑,问题得到了解决但我的问题已经解决了解决的问题没有解决.
如果您对此有任何疑问,请告诉我.
来我的问题.
我有一项活动.我在活动中有一个Button.我想打开存储在"/mnt/sdcard/xxx/log.txt"位置的预先存在的日志文件(这是一个文本文件示例log.txt)
下面是我写的隐式意图代码,最后我发现了一个例外情况"找不到任何活动"
code1:我试过并得到了例外
Uri uri = Uri.parse("file:///sdcard/xxx/log.txt");
Intent viewTestLogFileIntent = new Intent(Intent.ACTION_EDIT,uri);
viewTestLogFileIntent.setType("text/plain");
Run Code Online (Sandbox Code Playgroud)
code2:我试过并得到了异常
Uri uri = Uri.parse("file:///sdcard/xxx/log.txt");
Intent viewTestLogFileIntent = new Intent(Intent.ACTION_EDIT);
viewTestLogFileIntent.setData(uri);
viewTestLogFileIntent.setType("text/plain");
Run Code Online (Sandbox Code Playgroud)
code3:我试过并且工作正常
Uri uri = Uri.parse("file:///sdcard/xxx/log.txt");
Intent viewTestLogFileIntent = new Intent(Intent.ACTION_EDIT);
viewTestLogFileIntent.setDataAndType(uri,"text/plain");
Run Code Online (Sandbox Code Playgroud)
我有两个疑问
首先我的文件位于/mnt/sdcard/xxx/log.txt这个我可以清楚地看到eclipse的DDMS视图中的文件系统,但是当我将文件链接在uri中作为"文件时,它是如何工作的: ///sdcard/xxx/log.txt"我从路径跳过/ mnt
code1和code2有什么问题?什么是我在code3中设置的数据和类型我设置相同的数据和类型的意图,但分别使用不同的方法,如setData()和setType().为什么他们(code2和code1)不工作?为什么code3工作?
android ×1