我正在開發一個應用程序,允許用戶創建備份文件,然後使用文件選擇器重新導入它們。我使用下面的代碼導出文件:Android:將URI轉換爲文件
Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT);
intent.setType("application/*");
startActivityForResult(intent, Constants.FILE_CHOOSER);
的代碼返回onActivityResult()一個URI:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == Constants.FILE_CHOOSER) {
Uri uri = data.getData();
}
我有一個File
引用包含數據的我的應用程序的本地存儲中的文件。我只想從應用程序的內部存儲中取出文件並將其保存到用戶選擇的任何目錄中。我無法讓它工作。如何將返回的Uri
轉換爲File
,以便我可以更輕鬆地寫入數據?
你有一些示例語法或一個很好的資源來看?我似乎無法在Android開發者頁面上找到任何信息。 – wdavies973
@ wdavies973:爲了什麼? 'ContentResolver'是一個Java類。您通常通過調用Context等'getContentResolver()'來獲得它的一個實例,比如您的活動。 'openOutputStream()'是'ContentResolver'上的一個方法。你傳入'Uri'作爲參數。你得到一個'OutputStream'。所以,合併,即getContentResolver()。openOutputStream(data.getData())'。 – CommonsWare
謝謝,這就是我所需要的。感謝你的幫助。 – wdavies973