#android #android-service
#Android #android-сервис
Вопрос:
Я создал Service
и начал использовать Activity
Button
щелчок, но Service
после закрытия останавливается Activity
. Итак, что мне делать, чтобы продолжать запускать Service
без остановки?
MainActivity.java
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void startService(View v){
Intent i = new Intent(this, NotStickyService.class);
startService(i);
}
public void stopService(View v){
Intent i = new Intent(this, NotStickyService.class);
stopService(i);
}
Service.java
public class NotStickyService extends Service{
MediaPlayer mp;
@Override
public void onCreate() {
showToast("onCreate");
super.onCreate();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
showToast("onStart");
mp = new MediaPlayer();
AssetFileDescriptor descriptor;
descriptor = getAssets().openFd("msg.mp3");
mp.setDataSource(descriptor.getFileDescriptor(),
descriptor.getStartOffset(),descriptor.getLength());
descriptor.close();
mp.prepare();
mp.start();
return Service.START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
showToast("onDestroy");
}
private void showToast(String message){
Toast toast = Toast.makeText(this, message, Toast.LENGTH_SHORT);
toast.show();
}
}
Комментарии:
1. Можете ли вы подробно объяснить свою проблему? существует ли только одно действие, которое закрывается после запуска службы?
2. Я запускаю службу с помощью действия, но когда я закрываю действие, служба также останавливается. И я возвращаю START_STICKY из «onStartCommand()».
3. Убедитесь, что вы запускаете службу, а не просто привязываете ее. Связанные службы завершают работу, когда к ним больше не привязаны действия.
4. опубликуйте свой код, чтобы мы могли помочь