Android之使用picker打开相应的app,如果是music则可以选择是否使用相应打开的app进行播放。
在Manifest中设置,则可在选择音频文件的时候使用配置了以下的app打开
<intent-filter> <action android:name="android.intent.action.VIEW" > </action> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="audio/*" /> </intent-filter>
得到打开的音乐文件对应的地址
intent = getIntent(); String url = intent.getDataString(); if (url == null) { return; } System.out.println("url:"+getString(url)); final MediaPlayer player = new MediaPlayer(); player.setAudioStreamType(AudioManager.STREAM_MUSIC); player.reset(); player.setDataSource(getString(url)); player.prepareAsync(); player.setOnPreparedListener(new OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { System.out.println("123abcdefgh"); player.start(); } }); } // 由于得到的文件是file:///这样子开头,所以必须是截取出来 private String getString(String url){ return url.substring(7); }