wie starten Sie die Aktivität, wenn die Haupttätigkeit im hintergrund läuft?
Ich habe eine Anwendung die es dem Benutzer ermöglicht, festzulegen, ob er will empfangen von Benachrichtigungen, während die Anwendung läuft im hintergrund-Modus. Wenn die Benachrichtigungen aktiviert sind, wird eine Aktivität gestartet werden soll (der dialog sollte erscheinen auf dem Bildschirm).
Habe ich versucht zu aktivieren, damit Sie die folgende Weise:
@Override
public void onProductsResponse(List<Product> products) {
this.products = products;
moboolo.setProducts(products);
if(moboolo.getAutomaticNotificationsMode() != 0 && products.size() > 0){
if(isRunningInBackground)
{
Intent intent = new Intent(this, ProductListActivity.class);
intent.setAction(Intent.ACTION_MAIN);
startActivity(intent);
}
}
drawProducts(products);
}
dies ist die Methode aus der main activity. Wenn onPause() ausgeführt wird isRunningInBackground den Wert true hat.
Wenn ich versucht zu Debuggen, wenn die Haupt-Anwendung läuft im hintergrund die Linie
startActivity(Absicht) hatte keinen Effekt (die Aktivität nicht angezeigt wird).
Weiß jemand, wie man midify die Logik, um starten Sie eine Aktivität aus der Haupttätigkeit, wenn die Haupttätigkeit, die im hintergrund ausgeführt wird (nach onPause() aufgerufen wird)?
Danke.
InformationsquelleAutor Niko Gamulin | 2010-01-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht zwingen, eine
Activity
zu erscheinen, aus einer Anwendung, den hintergrund. Die Dokumentation sagt:Wenn Ihr
Activity
angehalten wird, kann der Benutzer etwas anderes in einer anderen Anwendung und wohl nicht will, dass IhreActivity
plötzlich erscheinen auf der Oberseite von dem, was Sie gerade tun.Sollten Sie mit einem Status Bar Notification. Dies ermöglicht Ihrer Anwendung, setzen ein Symbol in der Statusleiste. Der Benutzer kann dann schieben Sie die Statusleiste Schublade und klicken Sie auf die Benachrichtigung öffnen Sie die Anwendung und zeigen Sie die relevanten
Activity
. Dies ist die Art, wie die überwiegende Mehrheit der Android-apps den Benutzer Benachrichtigen, wenn im hintergrund ausgeführt.InformationsquelleAutor Dave Webb
Abgeschlossen Hemendra Antwort, Sie brauchen keine dieser Flaggen, außer
FLAG_ACTIVITY_REORDER_TO_FRONT
. Sie müssen nur zu erstellen einen PendingIntent aus Ihrem normalen Absicht und nennen die neue PendingIntent send () - Methode zum Versand der Absicht. Hier ist, wie ich es gemacht habe:InformationsquelleAutor Javad Sadeqzadeh
Und auf MyActivity die onCreate...
Dadurch wird Ihre Aktivität vor Fall, wenn die Haupttätigkeit im hintergrund läuft.
InformationsquelleAutor Hemendra Sharma