Ich muss eine bestimmte Aktivität öffnen, wenn Sie auf die Benachrichtigung von Onesignal tippen. Unten habe ich den Code angegeben, den ich bisher versucht habe. Das Problem ist, dass nur für das Ausführen der App funktioniert. Ich muss diese Klasse öffnen, wenn ich die App nicht ausführe.Öffnen Sie eine bestimmte Aktivität, wenn App nicht ausgeführt wird
private class ExampleNotificationOpenedHandler implements OneSignal.NotificationOpenedHandler {
@Override
public void notificationOpened(String message, JSONObject additionalData, boolean isActive) {
try {
Toast.makeText(getContext(), message, Toast.LENGTH_SHORT).show();
} catch (Throwable t)
{
t.printStackTrace();
}
Intent intent = new Intent(getApplication(), MyActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
}
private void registerWithOneSignal(String tag) {
OneSignal.startInit(getContext())
.setAutoPromptLocation(true)
.setNotificationOpenedHandler(new ExampleNotificationOpenedHandler())
.init();
OneSignal.sendTag("TAG", tag);
OneSignal.idsAvailable(ApplicationSettings.getInstance());
OneSignal.enableVibrate(true);
OneSignal.enableSound(true);
OneSignal.setSubscription(true);
OneSignal.enableNotificationsWhenActive(true);
OneSignal.enableInAppAlertNotification(true);
}
Und auch in Manifest-Datei
<meta-data android:name="com.onesignal.NotificationOpened.DEFAULT" android:value="DISABLE" />
Bedeuten u eine Aktivität durch Benachrichtigung Klick zu öffnen, wenn App nicht läuft? – Stallion
ja ............ – Hansi