2012-08-23 52 views
2

我正在android应用程序。在按钮上单击我只需要打开具有pdf的特定文件夹,以便用户可以选择某些pdf从该文件夹读取。打开文件夹上的按钮点击“我的文件”应用程序

我设法从列出文件夹中的PDF所有文件,但是这不是我所需要的。最合理的解决方案就是用“我的文件”应用程序打开文件夹,该文件已经是Android OS的一部分。有没有乳清在Android上做到这一点?

+0

我只是想提到“我的文件”不是Android操作系统的一部分。它只是一些ROM的一部分。你不能假设所有设备上都有“我的文件” – Sprigg

回答

1

此代码在没有“我的文件”应用程序,这是更好的解决方案。

public class AndroidListFilesActivity extends ListActivity { 

    File root; 
    File pdf; 

    private List<String> fileList = new ArrayList<String>(); 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     root = new File(Environment.getExternalStorageDirectory() 
       .getAbsolutePath()); 
     // ListDir(root); 

     pdf = new File(root, "PDF"); 
     ListDir(pdf); 
    } 

    void ListDir(File f) { 
     File[] files = f.listFiles(); 
     fileList.clear(); 
     for (File file : files) { 
      fileList.add(file.getPath()); 
     } 

     ArrayAdapter<String> directoryList = new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, fileList); 

     setListAdapter(directoryList); 

    } 

    public void onListItemClick(ListView parent, View v, int position, long id) { 
     //selection.setText(fileList.indexOf(simple_list_item_1)); 
     OpenPdf(fileList.get(position).toString()); 
    } 

    public void OpenPdf(String path) 
    { 
      File file = new File(path); 
      if (file.exists()) { 
       Uri p = Uri.fromFile(file); 
       Intent intent = new Intent(Intent.ACTION_VIEW); 
       intent.setDataAndType(p, "application/pdf"); 
       intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

       try { 
        startActivity(intent); 
       } 
       catch (ActivityNotFoundException e){ 
       } 
      } 
    } 
} 
1

要小心。并非所有的Android设备都有“我的文件”应用程序。所以最好的方法是创建你自己的列表/文件浏览器。

1

这里是我的列表文件的代码,怎么现在开上点击PDF文件。

public class AndroidListFilesActivity extends ListActivity { 

    private List<String> fileList = new ArrayList<String>(); 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     File root = new File(Environment.getExternalStorageDirectory() 
       .getAbsolutePath());  
     File pdf = new File(root, "PDF"); 
     ListDir(pdf); 
    } 

    void ListDir(File f) { 
     File[] files = f.listFiles(); 
     fileList.clear(); 
     for (File file : files) { 
      fileList.add(file.getPath()); 
     } 

     ArrayAdapter<String> directoryList = new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, fileList); 
     setListAdapter(directoryList); 
    } 

} 
相关问题