Android: Beginn neue Tätigkeit von der Anwendung Klasse
Habe ich eine android-app, spielt audio von der application-Klasse. Ich habe eine PhoneStateListener in meiner application-Klasse, die Pausen, die die audio -, wenn es sich um einen Telefonanruf.
Beginnen möchte ich einer bestimmten Tätigkeit, wenn das Gespräch beendet ist, aber ich bin nicht in der Lage. hier ist mein code:
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
.....
.....
}
Ich würde es schätzen, wenn jemand mir zeigen könnte, wie zu Beginn der Aktivität in der richtigen Art und Weise.
Dank!
- Ich bin mir nicht sicher über die richtige Vorgehensweise in dieser Sache, weil ich nie wusste, und nicht wissen, ob Sie sollte eine Aktivität von der Anwendung Klasse, weil Sie immer die Eintrag-Klasse auf dem manifest, aber wenn man bedenkt das Sie es tun können... haben Sie fügen Sie Ihre Aktivität zu dem manifest?
- Meine Tätigkeit wurde Hinzugefügt, um das manifest. Ist es nicht möglich, starten Sie eine Aktivität aus der application-Klasse ?
- Ich habe nicht gesagt, es ist nicht. Ich sagte, ich weiß nicht, cuz ich nie getan, und da Sie bereits über die start-Klasse auf dem manifest, definiert durch die Absicht: <intent-filter><action android:name="android.Absicht.Aktion.MAIN"/><category android:name="android.Absicht.Kategorie.LAUNCHER"/></intent-filter>
- Ich habe ein sehr ähnliches Problem, hast du irgendeine Art von Lösung?
- "aber ich bin nicht in der Lage." : Sie müssen uns nur sagen, was Los ist. Beschreiben + logs
- Ich beschloss, dass es besser wäre, wenn ich ein android-service zur Wiedergabe der audio-und wurde es weniger kompliziert.
- ok, ich weiß, Sie eingeschaltet, um service, aber ich war in der Lage, etwas zu arbeiten, wenn Sie Ihre Meinung ändern, finden Sie unter meine Antwort.
InformationsquelleAutor AndroidDev93 | 2012-06-20
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok, so ich wissen Sie eine andere Lösung gefunden schon, aber ich war krachend um und fand etwas, das für mich gearbeitet. Anstelle von aufrufen in der Absicht, die ich verwendet, pendingIntent, ein Vorsatz-filter, und unerledigter post. Hier ist ein code snippit für jemand anderen da draußen mit diesem Problem.
Dann in Ihrem manifest nur stellen Sie sicher, dass Sie die Absicht filter für den Fang-Aktivität