0

オーディオ サービスは、開始ボタンを押すと正常に開始されますが、停止ボタンを押しても停止しません。これがJavaアクティビティです。オーディオを再生するサービスを作成するためのオンラインの例に従いました。

import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;

public class Ship extends Activity implements View.OnClickListener {
private static final String TAG = "ShipService";
public static final Integer[] TIME_IN_MINUTES = { 30, 45, 60, 180, 360 };
public MediaPlayer mediaPlayer;
public Handler handler = new Handler();
public Button button2;
public Spinner spinner2;

// Initialize the activity
@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    // wl.acquire();
    setContentView(R.layout.ship);
    button2 = (Button) findViewById(R.id.btn2);
    button2.setOnClickListener(this);
    spinner2 = (Spinner) findViewById(R.id.spinner2);
    ArrayAdapter<Integer> adapter = new ArrayAdapter<Integer>(this,
            android.R.layout.simple_spinner_item, TIME_IN_MINUTES);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner2.setAdapter(adapter);

}

// Handle button callback
@Override
public void onClick(View v) {
    switch (v.getId()) {
    case R.id.btn2:
        Log.d(TAG, "onClick: starting service");
        startService(new Intent(this, Shipservice.class));
        break;
    case R.id.stop:
        Log.d(TAG, "onClick: stopping srvice");
        stopService(new Intent(this, Shipservice.class));
        break;
    }
}
}
4

2 に答える 2

0

onCreate() メソッドで停止ボタンのクリックリスナーを設定していません。

停止ボタンのオブジェクトを作成

public Button button2,stopBtn;

以下のように onCreate() メソッドを更新します

 button2 = (Button) findViewById(R.id.btn2);
 button2.setOnClickListener(this);

//停止ボタン

 stopBtn= (Button) findViewById(R.id.stop);
 stopBtn.setOnClickListener(this);
于 2013-11-05T04:52:10.970 に答える