我找到了OI文件管理器源代码的链接。我想将它与我正在创建的应用程序集成,以便在使用时
调用org.openintents.action.PICK_DIRECTORY
,它应该导致显示OI文件管理器并要求用户选择一个文件夹。 现在我可以通过在手机上安装OI文件管理器作为单独的应用程序来实现这一点。但在我的应用程序可以使用之前,我不希望这个双应用程序安装过程。因此,请告诉我如何将OI文件管理器代码与我的应用程序链接?
这样OI文件管理器和我的新应用程序都可以组合成一个.apk文件。
答案 0 :(得分:0)
最初我说你不能这样做是基于我去年无法做同样的事情。现在我看到有源代码,我假设您应该只将它包含在您的项目中,并使用其中的OI Manager源代码构建项目。然后你可以使用以相同方式提供的意图。
答案 1 :(得分: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;
}
}
答案 2 :(得分:0)
代码不起作用 在getBaseContext()
上给出错误