Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:媒体播放器在后台自动启动_Android_Service_Android Mediaplayer - Fatal编程技术网

Android:媒体播放器在后台自动启动

Android:媒体播放器在后台自动启动,android,service,android-mediaplayer,Android,Service,Android Mediaplayer,这是我上一个问题的继续。在我的应用程序中,我正在使用该服务在后台播放媒体播放器。它在我检查过的所有来电和呼出的情况下都能正常工作。服务在完成时也会被破坏。当用户明确暂停歌曲时,媒体播放器会暂停,但一段时间后,它会自行启动。从日志中,我得到了发生这种情况时检测到的呼叫状态idle。我想避免这种情况。我在下面发布我的代码: 音乐服务 启动服务的按钮代码: btn_Play.setOnClickListener(new View.OnClickListener() { pub

这是我上一个问题的继续。在我的应用程序中,我正在使用该服务在后台播放媒体播放器。它在我检查过的所有来电和呼出的情况下都能正常工作。服务在完成时也会被破坏。当用户明确暂停歌曲时,媒体播放器会暂停,但一段时间后,它会自行启动。从日志中,我得到了发生这种情况时检测到的呼叫状态idle。我想避免这种情况。我在下面发布我的代码:

音乐服务

启动服务的按钮代码:

btn_Play.setOnClickListener(new View.OnClickListener() 
    {
        public void onClick(View v) 
        {
            if(ChalisaService.playerFlag == 0)
            {
                startService(in);
                ChalisaService.playerFlag = 1;
                Log.v("HanuAlarm play button if", "in if loop");
                txtPlay.setText("Pause");
                txtPlay.setTextColor(getResources().getColor(R.color.redwine));
                btn_Play.setBackgroundResource(R.drawable.btnpause);
            }//if
            else if(ChalisaService.playerFlag == 1)
            {
                ChalisaService.mediaPlayer.pause();
                ChalisaService.playerFlag = 0;
                Log.v("HanuAlarm play button else", "in else loop");
                txtPlay.setText("Play");
                txtPlay.setTextColor(getResources().getColor(R.color.white));
                btn_Play.setBackgroundResource(R.drawable.btnplay_a);
            }//else if
        }//onClick
    });

您正在使用START_STICKY作为您的服务!这就是它自动重新启动的原因。尝试使用START_Nonsicky。

PS:希望有这个“HANUMAN CHALISA”应用程序!你是说开始不粘
btn_Play.setOnClickListener(new View.OnClickListener() 
    {
        public void onClick(View v) 
        {
            if(ChalisaService.playerFlag == 0)
            {
                startService(in);
                ChalisaService.playerFlag = 1;
                Log.v("HanuAlarm play button if", "in if loop");
                txtPlay.setText("Pause");
                txtPlay.setTextColor(getResources().getColor(R.color.redwine));
                btn_Play.setBackgroundResource(R.drawable.btnpause);
            }//if
            else if(ChalisaService.playerFlag == 1)
            {
                ChalisaService.mediaPlayer.pause();
                ChalisaService.playerFlag = 0;
                Log.v("HanuAlarm play button else", "in else loop");
                txtPlay.setText("Play");
                txtPlay.setTextColor(getResources().getColor(R.color.white));
                btn_Play.setBackgroundResource(R.drawable.btnplay_a);
            }//else if
        }//onClick
    });