Mam aplikację na Androida, która odtwarza dźwięk z klasy aplikacji. Mam PhoneStateListener w mojej klasie aplikacji, która zatrzymuje dźwięk podczas rozmowy telefonicznej.Android: Rozpoczęcie nowej aktywności od klasy aplikacji
Chcę rozpocząć określoną aktywność po zakończeniu połączenia, ale nie mogę tego zrobić. tutaj jest mój kod:
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
.....
.....
}
Byłbym wdzięczny, gdyby ktoś mógł mi pokazać, jak rozpocząć działalność w prawidłowy sposób.
Dzięki!
nie jestem pewien co do prawidłowego podejścia w tej sprawie, jak nigdy nie zrobił, i Don nie wiesz, czy masz rozpocząć działanie od klasy aplikacji, ponieważ zawsze ustawiłeś klasę wejścia w manifeście, ale biorąc pod uwagę, że możesz to zrobić ... czy dodałeś swoją aktywność do manifestu? –
Moja aktywność została dodana do manifestu. Czy nie można uruchomić działania z poziomu klasy aplikacji? – AndroidDev93
Nie powiedziałem, że nie jest. Powiedziałem, że nie wiem, bo nigdy tego nie zrobiłem i ponieważ masz już klasę początkową w manifeście, zdefiniowaną przez intencję: intent-filter> –