这是我的Firbase服务代码我只是想在应用程序关闭或不在后台运行时打开另一个Acivity我做了一切但它不会工作请帮助
private void createNotification(String messageBody, String title, RemoteMessage message)
{
Intent intent = new Intent(this,NotificationScreen.class);
intent.putExtra("type",message.getData().get("json"));
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent resultIntent = PendingIntent.getActivity( this ,0,intent,PendingIntent.FLAG_ONE_SHOT);
Uri notificationSoundURI = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder mNotificationBuilder = new NotificationCompat.Builder( this)
.setContentTitle(title)
.setLargeIcon(BitmapFactory.decodeResource(this.getResources(),R.drawable.icon))
.setContentText(messageBody)
.setAutoCancel(true)
.setSound(notificationSoundURI)
.setContentIntent(resultIntent);
mNotificationBuilder.setSmallIcon(getNotificationIcon(mNotificationBuilder));
//Log.i("data",map.values().toString());
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, mNotificationBuilder.build());
}
private int getNotificationIcon(NotificationCompat.Builder notificationBuilder) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
int color = 0x008000;
notificationBuilder.setColor(color);
return R.drawable.icon;
}
return R.drawable.icon;
}
已经应用了xml代码
<activity android:name=".NotificationScreen"
>
<intent-filter>
<action android:name="NotificationScreen" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
请帮助无法理解..
答案 0 :(得分:0)
对于Android,您只需将click_action
有效内容中notification
参数的值设置为等于您要打开的相应活动的intent过滤器即可。正如文档中所提到的(强调我的):
与用户点击通知相关联的操作。
如果指定,当用户点击通知时会启动具有匹配意图过滤器的活动。
例如,你有这个有效载荷:
{
"to": <TOKEN>,
"notification": {
...
"click_action" : "OPEN_ME"
...
}
}
然后你的清单中有一个具有相应意图过滤器名称的活动(类似于你的帖子):
<activity android:name=".NotificationScreen">
<intent-filter>
<action android:name="OPEN_ME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
它应该打开那个特定的活动。