m4n*_*k4s 14 android android-notifications firebase-cloud-messaging firebase-notifications
我正在尝试在用户点击通知时尝试打开特定活动,当应用在后台时,使用一些额外参数.我正在使用它click_action并且它工作正常,该应用程序打开所需的活动.
现在我需要服务器将一个额外的参数a传递id给此Activity,以便我可以提供与通知相关的所需详细信息.就像电子邮件应用程序一样,当我们点击通知时,会打开该特定电子邮件的详细信息.
我怎样才能做到这一点?
m4n*_*k4s 38
好的,我找到了解决方案.
这是我从服务器发送到应用程序的json
{
"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"
}
}
Run Code Online (Sandbox Code Playgroud)
在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>
Run Code Online (Sandbox Code Playgroud)
当应用程序关闭或在后台并且用户点击通知时它会打开我的ActivityXPTO,以检索id_offer我只需要做
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);
}
...
}
Run Code Online (Sandbox Code Playgroud)
而已...
| 归档时间: |
|
| 查看次数: |
19508 次 |
| 最近记录: |