Uri型で渡すので、SDカードとかに保存されたファイル名を渡すときは以下のような感じでエスケープしないとダメ。
public void playMusic() { Intent it = new Intent(Intent.ACTION_VIEW); Uri uri = Uri.parse("file://" + Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + Uri.encode("ほげ.mp3")); it.setDataAndType(uri, "audio/mp3"); trackListActivity.parentActivityGroup.getParent().startActivity(it); }
Uriなので当然と言えば当然だよね・・・orz
ちなみに、URLエンコードしないで渡すとNo Activity found to handle Intentというエラーが発生する。