當我們在製作APP時,
很常需要使用者開啟一些檔案讓APP使用,
這時就可以使用Intent開啟內建的檔案選擇器來選擇你要的檔案。
今天要分享如何開啟Android內建的檔案選擇器,
設定想要選取的檔案類型,
方便使用者開啟檔案,
並取得該檔案的路徑。
按下選取檔案按鈕,
選擇想要的檔案後,
將該檔案的原始路徑顯示在TextView上。
原始路徑會因
Android版本
品牌
選擇軟體
而有所不同,
需要再自行修正成想要的路徑格式。
下面教學有簡單的修改方式!!
按下選取檔案按鈕
選擇想要的檔案
當沒有選取檔案(直接按下返回鍵)
顯示檔案原始路徑
btnfilechoose = (Button) findViewById(R.id.btnfilechoose);
btnfilechoose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
這邊格式為MIME
MIME介紹
intent.setType("*/*");
這邊使用startActivityForResult,
有別於startActivity,
它能使用onActivityResult獲得選擇結果。
startActivityForResult(intent,0);
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
if(resultCode == RESULT_OK){
}
else {
textoutput.setText("取消選擇檔案!!");
}
Uri uri = data.getData();
textoutput.setText(uri.getPath());
一般而言,
Step03即可獲取檔案路徑,
但因為不同原因,
如果獲取檔案的路徑不符合你要的格式,
最簡單的方法就是使用 split() 方法分割字串來修改。
修改前:
修改後:
Uri uri = data.getData();
String[] uripath = uri.getPath().split("raw:");
if(uri != null){
}
else{
textoutput.setText("無效的檔案路徑!!");
}
try{
textoutput.setText(uripath[1]);
}
catch (Exception message)
{
textoutput.setText(uri.getPath());
}
你好我想請問一下我用了此方法得到了mp3檔案的路徑後我能用這個路徑實現撥放嗎?
還是有更好的方法實現選擇特定mp3檔後撥放呢?