2011-12-31 5 views
1

내 sdcard에 파일이 있습니다. 일반적으로 "officesuite"로 열고 변경하면 변경 사항을 저장할 수 있습니다. 내 응용 프로그램에서 다음과 같이 열면 "사무실 직원"이 표시하지만 변경 내용을 저장할 수 없으며 결코 내 활동으로 돌아 가지 않습니다. 어떤 생각이 있습니까?파일의 변경 사항을 저장 하시겠습니까?

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); 
    } 
} 
+0

내가 newlntent1.setAction (Intent.ACTION_VIEW)를 대체 할 것이라고 추측; newlntent1.setAction (Intent.ACTION_EDIT);이 메시지가 표시됩니다. "죄송합니다! 응용 프로그램 ....이 (가) 예기치 않게 중지되었습니다. 다시 시도하십시오." – hasanghaforian

답변

1

내가 값 확인 "Uri.parse (. file.toURI을의 toString()())"와 "Uri.fromFile()"sdcard에있는 파일 :
여기 내 코드입니다 " Uri.parse (file.toURI(). toString()) "는"file : /// mnt/... "와 같이 시작됩니다."file :/mnt/... "및"Uri.fromFile() "과 같이 시작됩니다! 그래서 코드를 변경하고 그것을 잘 작동합니다 :

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); 
    } 
} 
관련 문제