色々調べたら、Androidの標準機能として装備する予定は、無いようです。
http://groups.google.com/group/android-developers/msg/20030f2e04d6250b
さらに調べたら、Intent.ACTION_GET_CONTENTをサポートしている他のアプリ/Activityを事前インストールし、Activityとして起動すれば良いことが分かりました。
自分で実装して見て、動作したのでサンプルコードを公開します。
1.エミュレータでテストする場合は、事前にAndExplorerをダウンロードします。
http://www.lysesoft.com/products/andexplorer/index.html
2.adbでAndExplorerをインストールします。
adb install AndExplorer.apk
3.javaのActivityサンプルを示します。
public class MyActivity extends Activity {
private static final String TAG = "MyActivity";
private static final int GET_CONTENT_REQUEST = 10;
private ImageView myselect;
private String mypath;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// ファイル選択Activity起動
myselect = (ImageView) findViewById(R.id.myselect);
myselect.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO 自動生成されたメソッド・スタブ
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("vnd.android.cursor.item/vnd.google.note");
try {
startActivityForResult(intent, GET_CONTENT_REQUEST);
} catch (Exception e) {
Log.e(TAG, "error: " + e.getMessage(), e);
}
return false;
}
});
...
}
// 選択ファイル名取得
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_CANCELED) {
Toast.makeText(this, "File not selected", Toast.LENGTH_SHORT).show();
return;
}
if (requestCode == GET_CONTENT_REQUEST) {
mypath = data.getDataString();
return;
}
}
}
この様なコーディングをするとAndExplorerで選択したファイルにチェックマークが付くように、GUIが変更されています。これが、Intent.ACTION_GET_CONTENTをサポートしているかどうかの差だと思います。
ちなみにmypathには、file:///のURI形式で格納されています。この形式で、音楽は再生できました。
AndExplorer以外に何が使えるか未調査です。(^^;