2017-02-18 45 views
-1

我想爲android做我自己的文件管理器。 我想知道如何讓用戶選擇他想要使用的應用程序打開文件。比如當你打開一個.doc文件時,你有一堆.doc文件閱讀器。我如何能夠檢索用戶可以用來讀取/打開文件的應用程序列表?如何讓用戶選擇他想用來打開文件的應用程序?

Here's a screenshot.

回答

0

試試這個代碼

Uri uri = Uri.parse("Your file name: //"+file.getAbsolutePath()); 
Intent intent = new Intent(); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
intent.setAction(Intent.ACTION_VIEW); 
String type = "application/msword"; 
intent.setDataAndType(Uri.fromFile(file), type); 
startActivity(intent); 
0

您應該使用隱含的意圖你的目的。以下是播放視頻文件的選項示例代碼

Intent intent = new Intent(Intent.ACTION_VIEW); 
    intent.setDataAndType(Uri.parse("https://youtu.be/jxoG_Y6dvU8"), "video/*"); 
    startActivity(Intent.createChooser(intent, "Complete action using")); 

我希望它能幫助你。欲瞭解更多詳情可參考Android的官方文件,如下鏈接

https://developer.android.com/training/basics/intents/sending.html#AppChooser

+0

當我點擊的PNG文件。它不會顯示應用列表中的圖庫。如果文件類型是png,我該如何製作它,應用程序列表是用於打開圖像的。當它是.doc它顯示文檔閱讀器?抱歉。我真的很難編程。編輯:哦,我認爲這是setDataAndType代碼。大聲笑。我想試試 – Kon

+0

嗯試試,讓我知道如果你發現任何問題 –

+0

我用這段代碼'Intent intent = new Intent(Intent.ACTION_VIEW); String title = getResources()。getString(R.string.chooser_title); intent.setType(「*/*」); Intent chooser = Intent.createChooser(intent,title);' 它顯示了一堆不同的應用程序。這就是我所能做的。我不知道如何讓它僅顯示用於.doc和.pdf文件的圖像和文件讀取器的圖庫應用程序。我很愚蠢哈哈 – Kon

0

提到的我覺得你可以試試這個

Intent in= new Intent(Intent.ACTION_MAIN); 
in.setComponent(new ComponentName("com.package.address","com.package.address.MainActivity")); 
startActivity(in); 
相關問題