1
我的手機內置了文件管理器。我怎樣才能通過我的應用程序中的代碼來調用它。如何通過代碼打開內置文件管理器
我的手機內置了文件管理器。我怎樣才能通過我的應用程序中的代碼來調用它。如何通過代碼打開內置文件管理器
我寫了我自己的文件管理器,如下所示。可能對大家有用。
試試這個,糾正我,如果我錯了
public class FileManager extends Activity {
private String[] basePath = {Environment.getExternalStorageDirectory() + "", "/mnt/sdcard2"};
private ListView listView;
private ArrayList<String> pathList;
ArrayAdapter<String> adapter;
private ArrayList<String> fileList;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_file_manager);
listView = (ListView)findViewById(R.id.listView);
fileList = new ArrayList<String>();
pathList = new ArrayList<String>();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, fileList);
loadBasedata();
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// Path is hardcoded
if(pathList.size() == 0)
pathList.add(basePath[0]);
else
pathList.add(pathList.get(pathList.size() - 1) + "/" + fileList.get(position));
fileList.clear();
// Add new files to list
addFilesToList(pathList.get(pathList.size() - 1));
adapter.notifyDataSetChanged();
}
});
}
private void loadBasedata() {
fileList.clear();
fileList.add("Internal sdcard");
File file = new File(basePath[1]);
if(file.exists())
{
fileList.add("External sdcard");
}
adapter.notifyDataSetChanged();
}
@Override
public void onBackPressed() {
if(pathList.isEmpty())
finish();
else if(pathList.size() == 1)
{
pathList.clear();
loadBasedata();
}
else
{
fileList.clear();
pathList.remove(pathList.size() - 1);
addFilesToList(pathList.get(pathList.size() - 1));
adapter.notifyDataSetChanged();
}
}
private void addFilesToList(String path) {
File parentDir = new File(path);
if(parentDir.isDirectory())
{
File[] files = parentDir.listFiles();
//this.adapter.add("Go Back");
for(int i = 0; i < files.length; i++)
{
String filename=files[i].getName();
fileList.add(filename);
}
}
}
}
試試這個
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("file/*");
intent.setData(Uri.parse("file://"));
if (getPackageManager().resolveActivity(intent, 0) != null)
startActivity(intent);
某些Android操作系統沒有得到任何文件瀏覽器,所以上述需要驗證。
,使我的應用程序沒有變化。 意圖fileMangerIntent = new Intent(Intent.ACTION_GET_CONTENT,Uri.parse(Url)); startActivity(fileMangerIntent); 我試過這個,但它打開我的根資源管理器不是我的文件管理器。 – 2013-03-16 15:30:48
你通過「我的文件管理器」引用了什麼?它是你自己的文件管理器還是下載的? – 2013-03-17 03:35:36