7

Ich habe eine Android-App, die Audio aus der Anwendungsklasse spielt. Ich habe einen PhoneStateListener in meiner Anwendungsklasse, der die Audiodaten bei einem Telefonanruf pausiert.Android: Starten neuer Aktivität aus der Anwendungsklasse

Ich möchte eine bestimmte Aktivität starten, wenn der Anruf beendet wird, aber ich kann nicht. Hier ist mein Code:

Ich würde es begrüßen, wenn mir jemand zeigen könnte, wie man die Aktivität in der richtigen Weise beginnt.

Danke!

+0

Ich bin nicht sicher über den richtigen Ansatz zu diesem Thema, wie ich es nie getan, und don Ich weiß nicht, ob Sie eine Aktivität aus der Anwendungsklasse starten sollen, da Sie immer die Eintragsklasse für das Manifest festlegen, aber in Anbetracht dessen, dass Sie es tun können ... haben Sie Ihre Aktivität zum Manifest hinzugefügt? –

+0

Meine Aktivität wurde dem Manifest hinzugefügt. Ist es nicht möglich, eine Aktivität aus der Anwendungsklasse zu starten? – AndroidDev93

+0

Ich habe nicht gesagt, dass es nicht ist. Ich sagte, ich weiß es nicht, weil ich es nie getan habe und da du bereits die Startklasse im Manifest hast, definiert durch die Absicht:

Antwort

18

Ok, ich weiß, dass du schon eine andere Lösung gefunden hast, aber ich habe dabei herumgeknackt und etwas gefunden, das für mich funktioniert hat. Anstatt eine Absicht anzurufen, habe ich pendingIntent, einen Intent-Filter und einen ausstehenden Post verwendet. Hier ist ein Code-Snippit für alle anderen, die dieses Problem haben.

Context context = MyApplication.this.getApplicationContext(); 
Intent errorActivity = new Intent("com.error.activity");//this has to match your intent filter 
errorActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
PendingIntent pendingIntent = PendingIntent.getActivity(context, 22, errorActivity, 0); 
try { 
    pendingIntent.send(); 
    } 
catch (CanceledException e) { 
     // TODO Auto-generated catch block 
    e.printStackTrace(); 
    } 

Dann in Ihrem Manifest nur sicherstellen, dass Sie die Intent-Filter für die Fangtätigkeit eingestellt

<activity 
    android:name="UncaughtErrorDialogActivity" 
    android:theme="@android:style/Theme.Dialog" > 
    <intent-filter> 
     <action android:name="com.error.activity" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</activity> 
Verwandte Themen