URL を渡すと正常に動作します (ユーザーがボタンをクリックします):
final Intent i = new Intent(MusicService.ACTION_URL);
Uri uri = Uri.parse("http://stream-72.shoutcast.com:80/hot108_mp3_128kbps");
i.setData(uri);
startService(i);
しかし、ユーザーが ListView 項目をクリックしても、何も起こりません。
public List<String> songs = new ArrayList<String>();
protected void onListItemClick(ListView l, View v, int position, long id) {
playSong(MEDIA_PATH + songs.get(position));
}
private void playSong(String songPath) {
final Intent i = new Intent(MusicService.ACTION_URL);
Uri uri = Uri.parse(songPath);
i.setData(uri);
startService(i);
}
Toasts をセットアップしようとしましMusicService.ACTION_URL
たが、ListView シナリオでのみ呼び出されることはありませんが、最初のボタン クリック シナリオでは呼び出されます。
playSong メソッド内で (サービスの外部で) ローカルの MediaPlayer を作成しようとしましたが、正常に動作しますが、代わりに MusicService でリスト項目の再生を処理する必要があります。
mp.setDataSource(songPath);
教えてください、私は何が間違っていますか?さらに情報が必要な場合はお知らせください。ありがとう。
更新されたマニフェスト ファイルは次のとおりです。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.Design.streaming"
android:versionCode="56"
android:versionName="1.8.0.2" >
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="15" />
<supports-screens android:largeScreens="true"
android:normalScreens="true" android:smallScreens="true"
android:resizeable="true" android:anyDensity="true" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<!-- <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-feature name="android.hardware.touchscreen" required="false" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar" android:debuggable="false">
<activity
android:name=".Main"
android:launchMode="singleTask"
android:configChanges="orientation"
android:label="@string/title_activity_main"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.paypal.android.MEP.PayPalActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar">
</activity>
<activity android:name=".Blog" android:launchMode="singleTask" android:configChanges="keyboardHidden|orientation" />
<activity android:name=".Favs" android:launchMode="singleTask" android:configChanges="keyboardHidden|orientation" />
<activity android:name=".Songs" android:launchMode="singleTask" android:configChanges="keyboardHidden|orientation"/>
<activity android:name=".IcyStreamMeta" />
<activity android:name=".Favorites"> </activity>
<activity android:name=".PizzaMain" />
<activity android:label="@string/app_name" android:name="Info"/>
<activity android:name=".SomafmActivity" android:launchMode="singleTask"
>
<intent-filter>
<action android:name="com.LudwigAppDesign.streamingradioplayerproMain" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".SongsActivity" android:launchMode="singleTask"
/>
<activity android:name=".AncientfmActivity" android:launchMode="singleTask"
/>
<activity android:name=".Pizza"
android:configChanges="keyboardHidden|orientation"
android:label="@string/app_name">
</activity>
<activity android:name=".ResultDeligate" />
<activity android:name=".AppPreferenceActivity"
android:label="@string/app_name">
<intent-filter>
<action
android:name="net.learn2develop.AppPreferenceActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<service
android:name=".MusicService"
android:exported="false" >
<intent-filter>
<action android:name="com.LudwigAppDesign.streamingradioplayerpro.action.PLAY" />
<action android:name="com.LudwigAppDesign.streamingradioplayerpro.action.PAUSE" />
<action android:name="com.LudwigAppDesign.streamingradioplayerpro.action.SKIP" />
<action android:name="com.LudwigAppDesign.streamingradioplayerpro.action.REWIND" />
<action android:name="com.LudwigAppDesign.streamingradioplayerpro.action.STOP" />
</intent-filter>
<intent-filter>
<action android:name="com.LudwigAppDesign.streamingradioplayerpro.Main" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="com.LudwigAppDesign.streamingradioplayerpro.action.URL" />
<data android:scheme="http" />
<data android:scheme="file" />
</intent-filter>
</service>
<receiver android:name=".MusicIntentReceiver" >
<intent-filter>
<action android:name="android.media.AUDIO_BECOMING_NOISY" />
</intent-filter>
</receiver>
</application>