私の電話にはファイルマネージャーが組み込まれています。アプリのコードを使用してこれを呼び出すにはどうすればよいですか。
質問する
1164 次
2 に答える
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);
}
}
}
}
于 2013-03-23T12:04:27.967 に答える
0
これを試して
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オペレーティングシステムにはファイルブラウザがないため、上記の検証が必要です。
于 2013-03-15T02:55:26.540 に答える