Ich möchte bestimmte Aktivität öffnen, wenn auf die Push-Benachrichtigung geklickt wird. Ich verwende einen einzigen Push-Benachrichtigungsdienst. Onesignal bietet eine Funktion zum Öffnen einer bestimmten URL beim Klicken auf eine Benachrichtigung. Jetzt möchte ich eine bestimmte Aktivität (Angenommen Activity_zwei) bei Benachrichtigung klicken. Wie kann ich das machen? Wie für Plays wir market:\\
verwenden ...Link der Aktivität für Push-Benachrichtigung erhalten
0
A
Antwort
0
While send push notification from one signal send link or path of activity .
1. Define deep links in manifest.
2. Open Launcher activity on click of Notification.
3. Check path in data accepted by activity using uri.getData()
4. On based on data navigate to your desired activity.
0
müssen Sie zunächst OneSignal die Standardaktion der Eröffnung Ihres Launcher Aktivität deaktivieren, wenn eine davon Benachrichtigungen ist angezapft auf. Fügen Sie das folgende meta-data
Element zu Ihrem AndroidManifest.xml
unter Anwendung hinzu.
<application ...>
<meta-data android:name="com.onesignal.NotificationOpened.DEFAULT" android:value="DISABLE" />
</application>
Sie werden dann auf Setup benötigen eine NotificationOpenedHandler
das offene Ereignis zu behandeln und Ihre startActivity(...)
nennen.
import com.onesignal.OneSignal;
public class YourAppClass extends Application {
@Override
public void onCreate() {
super.onCreate();
OneSignal.startInit(this)
.setNotificationOpenedHandler(new ExampleNotificationOpenedHandler())
.init();
}
private class ExampleNotificationOpenedHandler implements NotificationOpenedHandler {
@Override
public void notificationOpened(OSNotificationOpenResult openedResult) {
Intent intent = new Intent(getApplication(), Activity_two.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
}
}
OneSignal vollständige Dokumentation zu diesem Thema. Changing the open action of a notification
irgendein Tutorial für das gleiche? – akkk
Ich habe kein Tutorial, aber sobald Sie Deep Linking kennen, dann werden Sie davon erfahren. –