0

Android の動作についてもっと知りたいです。また、Android によってサービスがどのように作成されるかを知りたいです。

サービスを作成する方法を知っています... Service クラスから拡張するなど...

しかし興味深いのは、サービスを作成する方法 (コード) またはアクティビティをサービスにバインドする方法 (メソッド: bindService(..)) です。

手順を知っている人はいますか?Android のソース コードを介しての戦いは成功しませんでした :/

4

1 に答える 1

0

このコードは私のアプリケーションで実行されています

import java.io.IOException;
import android.app.Service;
import android.content.Intent;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.util.Log;
import android.widget.Toast;

public class MusicService extends Service {

    private static final String TAG = "MyService";
    public static MediaPlayer mediaplayer;
    String musicfile="http://radio.radioamerica.org:8000/ra.mp3";

    @Override
    public IBinder onBind(Intent intent) {
        Log.i(" ibinder ", "");
        return null;
    }

    @Override
    public void onCreate() {
    mediaplayer = new MediaPlayer();
        mediaplayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    }

    @Override
    public void onDestroy() {
        mediaplayer.stop();
    }

    @Override
    public void onStart(Intent intent, int startid) {

        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);
            try {
                mediaplayer.reset();
                mediaplayer.setDataSource(musicfile);
                mediaplayer.prepare();
                mediaplayer.start();
            } 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();
            }
        }
    }
}

もう?

于 2012-09-13T12:22:00.193 に答える