0

再生と停止のボタンが 1 つあります。ボタンは完全に機能しますが、音楽を再生し、他のアプリのバックグラウンドに入り、アプリに戻ると、再生/停止ボタンを押すと再び再生が始まります. 再生ボタンをもう一度押して (音楽は再生中)、停止ボタンを押す必要があるため、これは問題です。onSaveInstanceState() でそれを行う方法を見つけましたが、機能していません。問題はここにあります。再生ボタンを押して、コードのバックグラウンドで再生されている音楽を停止する必要があります。

int button_status=1;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.player);
    if (savedInstanceState != null) {
        button_status = savedInstanceState.getInt("EXTRA_IS_ON");
    }}

@Override
public void onSaveInstanceState(Bundle outState) {

    outState.putInt("EXTRA_IS_ON", button_status);
    super.onSaveInstanceState(outState);
}

public void onClick(View v) {
    internetKonekcija = pk.konekcijaPremaInternetu();


    if(button_status == 1)//play the service
    {
    button_status=0;
    startService(new Intent(this, Service.class));
    }
    else//stop the service
    {
    button_status=1;

    stopService(new Intent(this, Service.class));
    }       
4

2 に答える 2

0

これには別のアプローチをお勧めします: サービスが実行されているかどうかのフラグを保存しようとして、フラグが間違っている可能性があるため、必要なときにいつでもサービスが実行されているかどうかを照会してみませんか? 方法の提案については、この回答を参照してください: https://stackoverflow.com/a/5921190/441899

于 2013-07-03T15:01:56.687 に答える