我想提出一個媒體播放器,誰就能在後臺運行。我必須在這項服務中發送一個字符串uri。 ,但我不能從通過bundle.Services類我的活動發送的URI值亙古不支持getIntent(),並顯示錯誤。 我如何能透過活動送的URI的服務。 請幫助如何傳遞服務中的值?
package com.abc.activity;
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.os.IBinder;
import android.util.Log;
import android.widget.Toast;
public class MyService extends Service {
private static final String TAG = "MyService";
MediaPlayer player;
String uri,url;
Bundle b;
AudioPlayer2 ap;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
Log.d(TAG, "onCreate");
Uri path=Uri.parse("/mnt/sdcard/download/abc.mp3");
player = MediaPlayer.create(this,path);
player.setLooping(false); // Set looping
}
@Override
public void onDestroy() {
Toast.makeText(this, "My Service Stopped", Toast.LENGTH_LONG).show();
Log.d(TAG, "onDestroy");
player.stop();
}
@Override
public void onStart(Intent intent, int startid) {
Toast.makeText(this, "My Service Started", Toast.LENGTH_LONG).show();
Log.d(TAG, "onStart");
//Bundle extras = getIntent().getExtras();
player.start();
}
public void getValue(String uri)
{
url=uri;
}
}
這正與靜態的URL,我在這個例子中使用。請建議我可以從我的活動類中獲取uri的價值。捆綁不在此類中工作
我想從一個活動發送一個字符串到我的服務類。這是不活動.. –
是的,你可以從一個活動的任何其他訪問字符串(它可以服務等級或其他活動)。 – RAAAAM