Stack Overflow em Português Asked by joao_coelho on January 28, 2021
Bom dia comunidade, primeiro queria agradecer o espaço e pedir ajuda de vocês com o seguinte problema:
Tenho uma função de uma classe que é chamada toda vez que uma notificação é recebida que é a CordovaNotificationReceivedHandler e ela é instanciada pelo init do OneSignal conforme o código abaixo.
OneSignal.init(this.cordova.getActivity(),
googleProjectNumber,
appId,
new CordovaNotificationOpenedHandler(notifOpenedCallbackContext),
new CordovaNotificationReceivedHandler(notifReceivedCallbackContext)
);
Tentando fazer com que meu aplicativo seja reordenado e seja exibido, mesmo que o usuário esteja em outro aplicativo, eu fiz as seguintes modificações:
OneSignal.init(this.cordova.getActivity(),
googleProjectNumber,
appId,
new CordovaNotificationOpenedHandler(notifOpenedCallbackContext),
new CordovaNotificationReceivedHandler(this.cordova.getActivity(), notifReceivedCallbackContext)
);
No corpo da função que é chamada ao receber uma push eu adicionei o seguinte código:
Intent it = new Intent("intent.my.action");
it.setComponent(new ComponentName(contextActivy.getPackageName(), MainActivity.class.getName()));
it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
contextActivy.getApplicationContext().startActivity(it);
this.handleActivityLifecycleHandler();
Como a classe ficou após a modificação:
private class CordovaNotificationReceivedHandler implements NotificationReceivedHandler {
private CallbackContext jsNotificationReceivedCallBack;
private Context contextActivy;
public CordovaNotificationReceivedHandler(Context contextActivy, CallbackContext inCallbackContext) {
jsNotificationReceivedCallBack = inCallbackContext;
this.contextActivy = contextActivy;
}
@Override
public void notificationReceived(OSNotification notification) {
Log.w("Chegou","Aqui");
Intent it = new Intent("intent.my.action");
it.setComponent(new ComponentName(contextActivy.getPackageName(), MainActivity.class.getName()));
it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
contextActivy.getApplicationContext().startActivity(it);
this.handleActivityLifecycleHandler();
try {
CallbackHelper.callbackSuccess(jsNotificationReceivedCallBack, new JSONObject(notification.stringify()));
}
catch (Throwable t) {
t.printStackTrace();
}
}
}
O problema é que o aplicativo não é reordenado para ser exibido ou mostrado ou aberto.
Importante lembrar que eu estou assumindo que o aplicativo sempre estará aberto.
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP