Firebase Cloud Messaging (FCM) - Launch Activity when user clicks the notification with extras
Ok, I have found the solution.
This is the json that I'm sending from the server to the app
{
"registration_ids": [
"XXX",
...
],
"data": {
"id_offer": "41"
},
"notification": {
"title": "This is the Title",
"text": "Hello I'm a notification",
"icon": "ic_push",
"click_action": "ACTIVITY_XPTO"
}
}
At the AndroidManifest.xml
<activity
android:name=".ActivityXPTO"
android:screenOrientation="sensor"
android:windowSoftInputMode="stateHidden">
<intent-filter>
<action android:name="ACTIVITY_XPTO" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
When the app is closed or in background and the user clicks on the notification it opens my ActivityXPTO, to retrieve the id_offer I only need to do
public class ActivityXPTO extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
String idOffer = "";
Intent startingIntent = getIntent();
if (startingIntent != null) {
idOffer = startingIntent.getStringExtra("id_offer"); // Retrieve the id
}
getOfferDetails(idOffer);
}
...
}
That's it...
Related videos on Youtube
m4n3k4s
Updated on March 19, 2020Comments
-
m4n3k4s over 3 years
I'm trying to open a specific activity when the user clicks the notification, when the app is in the background, with some extra parameters. I'm using the
click_action
and it's working fine, the app opens the desired Activity.Now I need the server to pass an extra parameter, an
id
, to this Activity so I can present the desired details associated with the notification. Like an e-mail application, that when we click on the notification opens the details of that specif email.How can I do this?
-
m4n3k4s over 7 yearsIt's not me who is starting the Activity. This is taken care by the system. The app is in background or closed.
-
Frank van Puffelen over 7 years
-
Md. Sajedul Karim about 7 yearsThanks for your nice answer. Using your way I starting the targetActivity but didn't get extras from intent. Have you any solution?
-
Harish Mahajan over 6 yearsthis worked for me too. if i want to open a particular page then what i have to do. see my question stackoverflow.com/questions/44797486/…