我正在android應用程序。在按鈕上單擊我只需要打開具有pdf的特定文件夾,以便用戶可以選擇某些pdf從該文件夾讀取。打開文件夾上的按鈕點擊「我的文件」應用程序
我設法從列出文件夾中的PDF所有文件,但是這不是我所需要的。最合理的解決方案就是用「我的文件」應用程序打開文件夾,該文件已經是Android OS的一部分。有沒有乳清在Android上做到這一點?
我正在android應用程序。在按鈕上單擊我只需要打開具有pdf的特定文件夾,以便用戶可以選擇某些pdf從該文件夾讀取。打開文件夾上的按鈕點擊「我的文件」應用程序
我設法從列出文件夾中的PDF所有文件,但是這不是我所需要的。最合理的解決方案就是用「我的文件」應用程序打開文件夾,該文件已經是Android OS的一部分。有沒有乳清在Android上做到這一點?
此代碼在沒有「我的文件」應用程序,這是更好的解決方案。
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){
}
}
}
}
要小心。並非所有的Android設備都有「我的文件」應用程序。所以最好的方法是創建你自己的列表/文件瀏覽器。
這裏是我的列表文件的代碼,怎麼現在開上點擊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);
}
}
我只是想提到「我的文件」不是Android操作系統的一部分。它只是一些ROM的一部分。你不能假設所有設備上都有「我的文件」 – Sprigg