Как прекратить воспроизведение сервиса в Android -- java поле с участием android поле с участием android-layout пол Связанный проблема

How to Stop playing Service in android


-3
vote

проблема

русский

У меня есть вопрос о сервисе и трансляции в Android.I Создайте страницу будильника, которые используя класс тревоги Reciver (он расширяет класс трансляции) для перехода на класс SingtonePlaying Service, чтобы начать музыку. Теперь я хочу остановить его, когда нажмите кнопку DRONGOFF, но я не могу этого сделать. Пожалуйста, помогите мне Спасибо

класс тревоги:

 <код>  private Button turn_on; public Button turn_off; private TextView update_text;  Context context; AlarmManager alarm_manager; TimePicker time_picker; PendingIntent pending_intent;  @Override protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_alarm_clock);     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);     setSupportActionBar(toolbar);      FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);     fab.setOnClickListener(new View.OnClickListener() {         @Override         public void onClick(View view) {             Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)                     .setAction("Action", null).show();         }     });      onButtonClickAlarm();  }  private void onButtonClickAlarm() {     this.context=this;      turn_on=(Button)findViewById(R.id.alarm_on);     turn_off=(Button)findViewById(R.id.alarm_off);     update_text=(TextView)findViewById(R.id.update_text);     alarm_manager=(AlarmManager)getSystemService(ALARM_SERVICE);     time_picker=(TimePicker)findViewById(R.id.timePicker);     final Calendar calendar=Calendar.getInstance();     final Intent my_intent=new Intent(this,AlarmReciever.class);      turn_on.setOnClickListener(new View.OnClickListener() {         @Override         public void onClick(View view) {             update_text.setText("Alarm Turn On");              calendar.set(Calendar.HOUR_OF_DAY,time_picker.getCurrentHour());             pending_intent= PendingIntent.getBroadcast(AlarmClock.this,0,my_intent,PendingIntent.FLAG_UPDATE_CURRENT);             alarm_manager.set(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),pending_intent);          }     });   final RingtonPlayingService rington=new RingtonPlayingService();     turn_off.setOnClickListener(new View.OnClickListener() {         @Override         public void onClick(View view) {             update_text.setText("Alarm Turn Off");         }     }); }}   

Класс тревоги:

 <код> public class AlarmReciever extends BroadcastReceiver { AlarmClock alarmClock=new AlarmClock();  @Override public void onReceive(Context context, Intent intent) {     Log.e("AlarmReciever","Alarm Reciever Error");     Intent intent_service=new Intent(context,RingtonPlayingService.class);     context.startService(intent_service); }}   

Ringtonplayingservice:

 <код> public class RingtonPlayingService extends Service { public static MediaPlayer mediaPlayer;   @Nullable @Override public IBinder onBind(Intent intent) {     return null; }  @Override public int onStartCommand(Intent intent,int flags , int startId) {        if(mediaPlayer==null)     {         mediaPlayer = MediaPlayer.create(this, R.raw.relax);         mediaPlayer.start();     }     return START_NOT_STICKY; }  @Override public boolean onUnbind(Intent intent) {     mediaPlayer.stop();      return super.onUnbind(intent); }  @Override public void onDestroy() {     Toast.makeText(this, "onDestroy is Called", Toast.LENGTH_SHORT).show();     mediaPlayer.stop(); }}   
Английский оригинал

I have a question about Service and BroadCast in android.I create an Alarm Clock page that using Alarm Reciver class(it's extend class of BroadCast) for go to RingtonePlaying Service class to start a music. Now I want to stop it when click on turn_off button but I can't do that. Please Help me Thanks

AlarmClock class:

 private Button turn_on; public Button turn_off; private TextView update_text;  Context context; AlarmManager alarm_manager; TimePicker time_picker; PendingIntent pending_intent;  @Override protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_alarm_clock);     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);     setSupportActionBar(toolbar);      FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);     fab.setOnClickListener(new View.OnClickListener() {         @Override         public void onClick(View view) {             Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)                     .setAction("Action", null).show();         }     });      onButtonClickAlarm();  }  private void onButtonClickAlarm() {     this.context=this;      turn_on=(Button)findViewById(R.id.alarm_on);     turn_off=(Button)findViewById(R.id.alarm_off);     update_text=(TextView)findViewById(R.id.update_text);     alarm_manager=(AlarmManager)getSystemService(ALARM_SERVICE);     time_picker=(TimePicker)findViewById(R.id.timePicker);     final Calendar calendar=Calendar.getInstance();     final Intent my_intent=new Intent(this,AlarmReciever.class);      turn_on.setOnClickListener(new View.OnClickListener() {         @Override         public void onClick(View view) {             update_text.setText("Alarm Turn On");              calendar.set(Calendar.HOUR_OF_DAY,time_picker.getCurrentHour());             pending_intent= PendingIntent.getBroadcast(AlarmClock.this,0,my_intent,PendingIntent.FLAG_UPDATE_CURRENT);             alarm_manager.set(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),pending_intent);          }     });   final RingtonPlayingService rington=new RingtonPlayingService();     turn_off.setOnClickListener(new View.OnClickListener() {         @Override         public void onClick(View view) {             update_text.setText("Alarm Turn Off");         }     }); }} 

AlarmReciver Class:

public class AlarmReciever extends BroadcastReceiver { AlarmClock alarmClock=new AlarmClock();  @Override public void onReceive(Context context, Intent intent) {     Log.e("AlarmReciever","Alarm Reciever Error");     Intent intent_service=new Intent(context,RingtonPlayingService.class);     context.startService(intent_service); }} 

RingtonPlayingService:

public class RingtonPlayingService extends Service { public static MediaPlayer mediaPlayer;   @Nullable @Override public IBinder onBind(Intent intent) {     return null; }  @Override public int onStartCommand(Intent intent,int flags , int startId) {        if(mediaPlayer==null)     {         mediaPlayer = MediaPlayer.create(this, R.raw.relax);         mediaPlayer.start();     }     return START_NOT_STICKY; }  @Override public boolean onUnbind(Intent intent) {     mediaPlayer.stop();      return super.onUnbind(intent); }  @Override public void onDestroy() {     Toast.makeText(this, "onDestroy is Called", Toast.LENGTH_SHORT).show();     mediaPlayer.stop(); }} 
</div
        

Список ответов

0
 
vote
vote
Лучший ответ
 

Попробуйте это остановить ваш сервис

 <код> Intent inten = new Intent(getApplicationContext(), YourService.class);                 stopService(inten);   
 

try this to stop your service

Intent inten = new Intent(getApplicationContext(), YourService.class);                 stopService(inten); 
</div
 
 
   
   
0
 
vote

Если вы хотите отменить тревогу перед запуском службы, немедленно используйте следующий код:

 <код> Intent alarmIntent = new Intent(this, AlarmReceiver.class);         pendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, 0);         manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);         manager.cancel(pendingIntent);   

Если вы хотите остановить сервис, то используйте следующий код:

 <код> Intent intent_service=new Intent(context,RingtonPlayingService.class);     stopService(intent_service);   
 

If you want to cancel the alarm before starting the service then use following code:

Intent alarmIntent = new Intent(this, AlarmReceiver.class);         pendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, 0);         manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);         manager.cancel(pendingIntent); 

if you want to stop service then use following code:

Intent intent_service=new Intent(context,RingtonPlayingService.class);     stopService(intent_service); 
</div
 
 
 
 

Связанный проблема

1  Libgdx setscreen () сбивает игру, когда сделано несколько раз  ( Libgdx setscreen crashes game when done multiple times ) 
У меня есть <код> GameScreen и после окончания уровня, я устанавливаю экран обратно в <код> GameScreen как перезапустить , когда пользовательская кнопка пе...

0  Как я могу определить, что я нахожусь в последнем байте сериализованного объекта Java?  ( How do i identify that i am at the last byte of a serialized java object ) 
Вопрос Что такое (если есть) завершающие символы / байты последовательностей в сериализированных объектах Java? Фон Я работаю над небольшим проектом...

1  Я хочу, чтобы мой NPC посмотреть в направлении, на котором я стою. Как бы я сделал это наиболее эффективно?  ( I want my npc to look in the direction i am standing at how would i do this mos ) 
В настоящее время я строю 2D игру с Slick2D, и сейчас я реализую свой первый NPC. У меня уже есть спрайты, я смог нарисовать его, были столкновения, и так д...

0  Можем ли мы проверить, что текст в поле «Пароль» отображается в маске? [закрыто]  ( Can we check that text in password field is displayed masked ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт . Этот вопрос нуждается в Детали или ясность . В настоящее...

1  Неправильное количество прошедших args, но я передаю правильную сумму  ( Wrong number of args passed but i pass the correct amount ) 
Я использую quil с cljure и получаю странную ошибку. Я получаю ошибку <код> Exception in :draw function: #error { :cause Wrong number of args (1) pass...

3  Добавление музыки / звука в программы Java  ( Adding music sound to java programs ) 
Я делаю несколько мини Java Games, и мне было интересно, как я могу добавить звук / музыку в свои программы. Я смотрел видео на YouTube и последовал за предос...

427  Что означает «не может найти символ» или «не может разрешить символ» ошибка?  ( What does a cannot find symbol or cannot resolve symbol error mean ) 
Пожалуйста, объясните следующее о «не можете найти символ», - не может разрешить ошибки символа «или« символ не найден »: . Что они имеют в виду? Что може...

4  Ссылка метода против лямбда экспрессия  ( Method reference vs lambda expression ) 
Я хочу заменить лямбда выражение по ссылке метода в примере ниже: <код> public class Example { public static void main(String[] args) { ...

26  Как добавить кнопку в ряд jtable в качелях java  ( How to add button in a row of jtable in swing java ) 
Я сделал один важный графический интерфейс, который имел jtable с некоторыми строками и столбцами. Как я должен добавить кнопку для строки в JTable? ...

0  Не могу найти какие-либо рабочие примеры использования официального Google Translate Java API (Rev41)  ( Cant find any working examples of using the official google translate java api ) 
У меня потребовалось около 5 минут, чтобы использовать API Google Translate REST от JavaScript, Nodejs, wget и Java через библиотеку Sun's Jersey, но я не мог...

10  Может ли javafx filechooser "запомнить" последний каталог, который он открыл?  ( Can a javafx filechooser remember the last directory it opened ) 
Мой контроллер просмотра имеет один <код> FileChooser экземпляра, используемый как для открытия, так и для сохранения файлов. Каждый раз, когда я звоню <ко...

-1  Как установить Jlint-3.0 на Ubuntu 14.04.2? [Дубликат]  ( How to install jlint 3 0 on ubuntu 14 04 2 ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже есть ответы здесь : ...

0  Прокрутите вверх относительной макета при прокрутке вверх по просмотру  ( Scroll up relative layout when scrolling up listview ) 
Я создаю приложение. и пользовательская информация отображается в относительной макете. При относительной макете - это список с элементами, создаваемыми польз...

0  Java Applet Рисование формы на входе пользователя  ( Java applet drawing shapes by user input ) 
Вот то, что я хотел сделать. Есть текстовое поле, и пользователь входит в то, что он хочет. Например, «прямоугольник» или «прямоугольник», «круг» или «круг». ...

0  Никогда не заканчивает финал, пока цикла  ( Never finishes final while loop ) 
У меня есть задание, где я в основном должен написать небольшой ботнет. Нам дали список пользователей и зашифрованные пароли. Нам также дали код для расшифров...

Связанный проблема

1  Libgdx setscreen () сбивает игру, когда сделано несколько раз 
0  Как я могу определить, что я нахожусь в последнем байте сериализованного объекта Java? 
1  Я хочу, чтобы мой NPC посмотреть в направлении, на котором я стою. Как бы я сделал это наиболее эффективно? 
0  Можем ли мы проверить, что текст в поле «Пароль» отображается в маске? [закрыто] 
1  Неправильное количество прошедших args, но я передаю правильную сумму 
3  Добавление музыки / звука в программы Java 
427  Что означает «не может найти символ» или «не может разрешить символ» ошибка? 
4  Ссылка метода против лямбда экспрессия 
26  Как добавить кнопку в ряд jtable в качелях java 
0  Не могу найти какие-либо рабочие примеры использования официального Google Translate Java API (Rev41) 
10  Может ли javafx filechooser "запомнить" последний каталог, который он открыл? 
-1  Как установить Jlint-3.0 на Ubuntu 14.04.2? [Дубликат] 
0  Прокрутите вверх относительной макета при прокрутке вверх по просмотру 
0  Java Applet Рисование формы на входе пользователя 
0  Никогда не заканчивает финал, пока цикла