1

我找到了 OI 文件管理器源代码的链接。我想将它与我正在创建的应用程序集成,以便当意图

org.openintents.action.PICK_DIRECTORY

调用时,它应该会显示 OI 文件管理器并要求用户选择一个文件夹。现在,我可以通过在手机上将 OI 文件管理器作为单独的应用程序安装来做到这一点。但在我的应用程序可以使用之前,我不希望这个两个应用程序安装过程。因此告诉我如何将 OI 文件管理器代码与我的应用程序链接?

这样 OI 文件管理器和我的新应用程序都可以合并为一个 .apk 文件。

4

2 回答 2

0

最初我说你不能这样做,这是基于我去年无法做同样的事情。现在我看到了源代码,我假设您应该简单地将其包含在您的项目中,并使用其中的 OI 管理器源代码构建项目。然后您可以以相同的方式使用提供的意图。

于 2011-12-01T11:27:12.400 回答
0
This is my own Filemanager so will have problems ., try this its very simple
keeping a listview for files 

public class Bview extends Activity{
    private ListView l;
    private int i;
    private static int stringcounter=0;
    public  static File path;
    public  static String current;
    private static File f;
    private static String  str;
    private static String string=Environment.getExternalStorageDirectory()+"";;
    private static String[] stringpart;
    ArrayList<String> appointment;
    ArrayAdapter<String> aa;
    protected void onCreate(Bundle savedInstanceState) {

        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_view);
        l=(ListView)findViewById(R.id.listView1);
        appointment = new ArrayList<String>();
        stringpart=new String[10];
        aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,appointment);
        l.setAdapter(aa);
        List<File> files = getListFiles(new File(string)); 

        l.setOnItemClickListener(new OnItemClickListener() {
                public void onItemClick(AdapterView<?> parent, View view,
                      int position, long id) {
                    if(position==0)
                    {
                        stringcounter--;
                        string=string.replaceAll(stringpart[stringcounter],"");
                        aa.clear();
                        List<File> files = getListFiles(new File(string));
                    }
                    else
                        {
                      Object o = l.getItemAtPosition(position);                         
                      str=(String)o;
                      string=string+"/"+str;
                      System.out.println("str"+str);
                      System.out.println(".value.."+string);
                      f=new File(string);
                      if(f.isDirectory())
                      {  
                          stringpart[stringcounter]="/"+str;
                          stringcounter++;
                          aa.clear();
                          List<File> files = getListFiles(new File(string));  
                      }
                      else
                      {

                      Toast.makeText(getBaseContext(),str,Toast.LENGTH_SHORT).show();
                      }
                        }                 
                }
            });

    }
     @Override
    public void onBackPressed() {
        // TODO Auto-generated method stub
        super.onBackPressed();
        System.exit(0);
    }
    private List<File> getListFiles(File parentDir) {
            ArrayList<File> inFiles = new ArrayList<File>();
            File[] files = parentDir.listFiles();
            this.aa.add("Go Back");
            for(i=0;i<files.length;i++)
            {

            String filename=files[i].getName();
            this.aa.add(filename);        
            }

            return inFiles;
        }
    }
于 2013-03-17T12:04:36.910 回答