2016-08-07 57 views
0

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

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

irgendein Tutorial für das gleiche? – akkk

+0

Ich habe kein Tutorial, aber sobald Sie Deep Linking kennen, dann werden Sie davon erfahren. –

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