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>
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? –
Meine Aktivität wurde dem Manifest hinzugefügt. Ist es nicht möglich, eine Aktivität aus der Anwendungsklasse zu starten? – AndroidDev93
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: abt-filter> –