Servicio de Android que controla MediaPlayer
Todo lo que quiero hacer es simplemente controlar la música de fondo en mi aplicación a través de un servicio, así que soy capaz de iniciarlo y detenerlo de cualquier actividad.
Tengo todo configurado perfectamente cuando le digo el servicio a Toast cuando se inicia y se destruye, pero tan pronto como poner los medios de comunicación playin en el lugar en su lugar Comienza bien y comienza a reproducir la música, pero tan pronto como un clic en un botón para detener el Servicio me sale un error y una fuerza cerca.
- Uso de agentes fiduciarios en la aplicación de Android
- Cómo saber si mi aplicación es administrada o no
- El servicio de Android con START_STICKY se bloquea al eliminar la aplicación
- NullPointerExecption al llamar a un PhoneStateListener en un servicio
- Actualizaciones de la base de datos Sqlite activan el servicio para actualizar a través de Content Observer
POR FAVOR, alguien me ayude a ver lo que estoy haciendo mal .. Soy bastante nuevo para desarrollar Android Estoy supongo que va a ser algo fácil.
Aquí está mi código:
import android.app.Service; import android.content.Intent; import android.media.MediaPlayer; import android.os.IBinder; import android.widget.Toast; public class MyService extends Service { private MediaPlayer player; @Override public IBinder onBind(Intent intent) { return null; } @Override public void onCreate() { super.onCreate(); Toast.makeText(this, "Service Started", Toast.LENGTH_SHORT).show(); MediaPlayer player = MediaPlayer.create(MyService.this, R.raw.my_music); player.start(); player.setLooping(true); } @Override public void onDestroy() { super.onDestroy(); player.stop(); Toast.makeText(this, "Service Stopped", Toast.LENGTH_SHORT).show(); } }
- ¿Cómo manejar la necesidad de comunicación entre procesos en mi aplicación de Android?
- ¿Cómo puedo detener el servicio de otra aplicación en Android?
- Cómo enviar archivos zip en el servidor utilizando el servicio de fondo en Android
- Android Sincronización automática con datos personalizados
- Android: Cuando se cancela un servicio, ¿cómo podemos persistir el estado del servicio para una restauración posterior?
- Dibuja un lienzo de Android en la parte superior de todas las aplicaciones?
- Cuándo usar y cuándo no utilizar un servicio en Android
- Android ContentProvider con servicios
player.stop();
—– esta línea debe darle nullPointerException
.
private MediaPlayer player;
Aquí usted está creando solamente la referencia. onCreate()
objeto que usted está creando en onCreate()
tiene alcance local solamente. Por favor, cree un objeto que tenga alcance de nivel de clase, entonces funcionará.
onBind
método onBind
sólo devuelve null si es un "Servicio local". Si lo entiendo correctamente, desea crear servicio remoto.
Muestre la sección de servicio remoto en este sitio de referencia.
Tiene el objeto de jugador declarado local al procedimiento OnCreate, quite la declaración local, vea a continuación:
//MediaPlayer player = MediaPlayer.create(MyService.this, R.raw.my_music); player = MediaPlayer.create(MyService.this, R.raw.my_music);
- El paquete Eclipse ADT no funciona correctamente
- Sincronizar datos de aplicaciones entre iOS y Android