【发布时间】:2016-10-19 06:39:54
【问题描述】:
我已使用密钥值对通过 firebase 控制台发送通知,并在启动器活动中处理了通知。以下是尝试过的代码:
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if (intent.hasExtra("click_action")) {
ClickActionHelper ck=new ClickActionHelper();
ck.startActivity(intent.getStringExtra("click_action"), intent.getExtras(), this);
}
}
public class ClickActionHelper {
public void startActivity(String className, Bundle extras, Context context){
Class cls=null;
try {
cls = Class.forName(className);
}catch(ClassNotFoundException e){
}
Intent i = new Intent(context, cls);
i.putExtras(extras);
context.startActivity(i);
}
}
但是这样我无法在点击通知时打开目标活动。有什么想法吗?
【问题讨论】:
-
@Raghunandan 我的问题不同,我需要启动一个特定的活动,这可以是应用程序中的任何活动。所以我需要为每个活动定义上述链接中给出的所有属性,如果我需要加载片段吗?
-
我会为每个要打开的活动关联类型。基于此,我使用开关盒并导航到该特定活动。片段由活动托管。所以在这种情况下你需要启动一个片段
-
我可以加载片段,但问题是我不确定应用程序在后台时应该使用哪个回调方法以及在哪个活动(mainActivity??)中......我已经尝试了上述解决方案但这对我不起作用....如果可能的话,请给我任何示例文件...谢谢
-
再次阅读提到的链接。如果您正在寻找其他东西对不起我不知道
标签: android firebase notifications