根據你選擇的檔案, 取得該檔案的 URI,
範例, 如下 :
main.xml layout 部份內容 :
程式碼
<Button
android:id="@+id/buttonObj"
android:layout_width="80px"
android:layout_height="wrap_content"
android:text="選擇檔案"
android:layout_x="5px"
android:layout_y="10px"
/>
<ImageView
android:id="@+id/imageViewObj"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="10px"
android:layout_y="70px"
/>
Java 程式碼 :
程式碼
public class helloWorld extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView( R.layout.main );
Button b = (Button)this.findViewById(R.id.buttonObj);
b.setOnClickListener( new OnClickListener(){
public void onClick(View arg0) {
// TODO Auto-generated method stub
// 建立 "選擇檔案 Action" 的 Intent
Intent intent = new Intent( Intent.ACTION_PICK );
// 過濾檔案格式
intent.setType( "image/*" );
// 建立 "檔案選擇器" 的 Intent (第二個參數: 選擇器的標題)
Intent destIntent = Intent.createChooser( intent, "選擇檔案" );
// 切換到檔案選擇器 (它的處理結果, 會觸發 onActivityResult 事件)
startActivityForResult( destIntent, 0 );
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
// 有選擇檔案
if ( resultCode == RESULT_OK )
{
// 取得檔案的 Uri
Uri uri = data.getData();
if( uri != null )
{
// 利用 Uri 顯示 ImageView 圖片
ImageView iv = (ImageView)this.findViewById(R.id.imageViewObj);
iv.setImageURI( uri );
setTitle( uri.toString() );
}
else
{
setTitle("無效的檔案路徑 !!");
}
}
else
{
setTitle("取消選擇檔案 !!");
}
}
}
範例結果 :