ServiceクラスにProgressダイアログボックスを追加したい。私のアプリはラジオライブストリーミングを再生していますが、アプリはチャンネルをロードしているので、進行状況ダイアログを追加したいです。ラジオ進行状況ダイアログを開始すると、却下します。アイデアがありますか?前もって感謝します..
public class MusicService extends Service {
private static final String TAG = "MyService";
public static MediaPlayer mediaplayer;
String musicfile;
@Override
public IBinder onBind(Intent intent) {
Log.i(" ibinder ", "");
return null;
}
@Override
public void onCreate() {
Toast.makeText(this, "My Service Created", 0).show();
Log.i(TAG, "onCreate");
mediaplayer = new MediaPlayer();
mediaplayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
}
@Override
public void onDestroy() {
Toast.makeText(this, "My Service Stopped", 0).show();
Log.w(TAG, "onDestroy");
mediaplayer.stop();
}
@Override
public void onStart(Intent intent, int startid) {
Toast.makeText(this,
"My Service Started :" + intent + " start id :" + startid, 0)
.show();
Log.d(TAG, "onStart");
if (intent.getExtras().getString("paths") == null) {
Log.i("Intent Null", "Null");
} else {
Log.i("Intent Not Null", "Not Null");
musicfile = intent.getExtras().getString("paths");
Log.i("musicfile", "" + musicfile);
startPlayer();
Log.i("startplayer() called","");
}
}
public void startPlayer() {
new Thread(startPlayer).start();
}
private Runnable startPlayer = new Runnable() {
public void run() {
try {
mediaplayer.reset();
mediaplayer.setDataSource(musicfile);
mediaplayer.prepare();
mediaplayer.start();
Log.i("playchannel", musicfile);
Log.e("Media Player Create", "player Create");
Log.i("End startpayer called","");
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
}
これは私のサービスクラスで、ライブラジオストリーミングを再生したいのですが、ライブラジオストリーミングを再生するにはある程度の負荷がかかります。だから私はラジオプレーヤーが少し時間がかかるときに何かプロセスをしたいです。