2016-10-13 2 views
0

s'il vous plaît voir le code ci-dessous que vous pouvez voir mon CheminFichier ne reçoit que ce chemin /document/1393, alors comment je reçois mon chemin absolu comme /sdcard/document/test.docx?envoyer mon intention à un chooser l'application pour ouvrir ms doc word

// Get Result Back 
@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    switch(requestCode){ 
     case FILE_SELECT_CODE: 
      if(resultCode==-1){ 
       String FilePath = data.getData().getPath(); 
       Log.d("onActivityResult", "FilePath = " + FilePath); 
       cityEditText.setText(FilePath); 
      } 
      break; 

    } 

} 

Répondre

0

Essayez ceci:

Uri uri = Uri.fromFile(new File("/path/to/file")); 
Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
// Verify that there are applications registered to handle this intent 
// (resolveActivity returns null if none are registered) 
if (intent.resolveActivity(getPackageManager()) != null) { 
    startActivity(intent); 
} 

Selon l'endroit où vous exécutez ce code à partir (dans une activité, vue, fragment) vous devrez peut-être ajuster getPackageManager()-getActivity().getPackageManager() ou getContext().getPackageManager().

+0

beaucoup apprécié votre réponse rapide. mais je suis un peu confus. cela fonctionnera sans doute avec toute extension comme .pdf ou doc ​​ou .docx ou png etc ... vous avez eu l'idée. – anuloo

+0

Oui, cela devrait déterminer l'action appropriée basée sur l'uri. Si vous voulez spécifier vous-même, vous pouvez utiliser 'intent.setDataAndType (uri," application/pdf ");' par exemple et ajuster le second argument mime/type de fichier si nécessaire. Pour le mot que vous utiliseriez '' application/msword "', pour powerpoint '' application/vnd.ms-powerpoint '', pour excel '' application/vnd.ms-excel "' etc. Dans ce cas, vous devez créer le objet d'intention sans le second argument uri. –

+0

merci je vais essayer demain et je vous ferai savoir comment je m'entends. merci dans un million. – anuloo