gpt4 book ai didi

android - 保存文件的更改?

转载 作者:行者123 更新时间:2023-11-30 04:24:49 25 4
gpt4 key购买 nike

我的 SD 卡上有一个文件。当我正常打开并用“officesuite”更改时,我可以保存更改。当我如下在我的应用程序中打开它时,“officesuite”会显示它但它无法保存更改并且绝不会返回到我的 Activity 。有什么想法吗?
这是我的代码:

import java.io.File;
import java.net.URI;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.webkit.MimeTypeMap;

public class OfficesuiteSaveAsActivity extends Activity {
private String fileDir;
private File file;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedlnstanceState) {
super.onCreate(savedlnstanceState);
setContentView(R.layout.main);
String sdCardDir = Environment.getExternalStorageDirectory()
.getAbsolutePath();
String fileName = "TestofficeSuite.docx";
fileDir = sdCardDir + File.separator + fileName;
file = new File(fileDir);
displayFile(file.toURI());
}

public void displayFile(URI uriString) {
Uri data = Uri.parse(uriString.toString());
Intent newlntent1 = new Intent();
newlntent1.setAction(Intent.ACTION_VIEW);
MimeTypeMap mtm = MimeTypeMap.getSingleton();
newlntent1.setDataAndType(data, mtm.getMimeTypeFromExtension("docx"));
startActivity(newlntent1);
}
}

最佳答案

我检查 sdcard 中文件的“Uri.parse(file.toURI().toString())”和“Uri.fromFile()”的值:“Uri.parse(file.toURI().toString())”以“file:/mnt/...”开头,“Uri.fromFile()”以“file:///mnt/...”开头!所以我更改了代码并且它工作正常:

public class OfficesuiteSaveAsActivity extends Activity {
private String fileDir;
private File file;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedlnstanceState) {
super.onCreate(savedlnstanceState);
setContentView(R.layout.main);
String sdCardDir = Environment.getExternalStorageDirectory()
.getAbsolutePath();
String fileName = "TestofficeSuite.docx";
fileDir = sdCardDir + File.separator + fileName;
file = new File(fileDir);
displayFile(file);
}

public void displayFile(File file) {
Uri data = Uri.fromFile(file);
Intent newlntent1 = new Intent();
newlntent1.setAction(Intent.ACTION_VIEW);
MimeTypeMap mtm = MimeTypeMap.getSingleton();
newlntent1.setDataAndType(data, mtm.getMimeTypeFromExtension("docx"));
startActivity(newlntent1);
}
}

关于android - 保存文件的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8686751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com