Tengo una aplicación de Android que reproduce audio de la clase de aplicación. Tengo un PhoneStateListener en mi clase de aplicación que pausa el audio cuando hay una llamada telefónica.Android: iniciar nueva actividad desde la clase de aplicación
Quiero comenzar una actividad en particular cuando finaliza la llamada, pero no puedo. aquí está mi código:
public void getPhoneState(){
TelephonyManager mgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
PhoneStateListener phoneStateListener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
if (state == TelephonyManager.CALL_STATE_RINGING) {
if(audio.isPlaying())
audioPlayer.pause();
}
else if(state == TelephonyManager.CALL_STATE_IDLE) {
audio.start();
Intent missintent= new Intent(context,AudioActivity.class);
missintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(missintent);
}
else if(state == TelephonyManager.CALL_STATE_OFFHOOK) {
if(audio.isPlaying())
audioPlayer.pause();
}
super.onCallStateChanged(state, incomingNumber);
}
};
if(mgr != null) {
mgr.listen(phoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
}
}
public boolean handleAudio(String source, int id) {
phoneState();
//Code for Playing Audio
.....
.....
}
Agradecería que alguien me mostrara cómo iniciar la actividad de la manera correcta.
Gracias!
No estoy seguro sobre el enfoque correcto en esta materia, como nunca lo hice, y don No sé si se supone que debes iniciar una actividad desde la clase de la aplicación, porque siempre estableces la clase de entrada en el manifiesto, pero teniendo en cuenta que puedes hacerlo ... ¿Agregaste tu actividad al manifiesto? –
Mi actividad se ha agregado al manifiesto. ¿No es posible iniciar una actividad desde la clase de aplicación? – AndroidDev93
No dije que no lo es. Dije que no sé, porque nunca lo hice y dado que ya tienes la clase de inicio en el manifiesto, definida por la intención: intent-filter> –