我有一个Android GCM客户端和第三方服务器。在第三方服务器端,我现在想告诉Android应用程序,在Pending Intent中启动哪个活动。有没有可能这样做?
我不能硬编码像
这样的东西Intent notificationIntent = new Intent(context, MainActivity.class);
因为我还不知道,我想要发布哪个活动... 我试图在服务器端添加一个URI
Message msg = new Message.Builder()
.collapseKey("push")
.delayWhileIdle(true)
.addData("ACTION",
"de.company.myApp.Activity.class")
.addData("MESSAGE",
"messageText")
.build();
并使用
在客户端获取它String intentUri = intent.getStringExtra("ACTION");
和
Intent notificationIntent = Intent.parseUri(intentUri, 0);
但它不起作用。
有什么想法吗?
答案 0 :(得分:0)
首先将“de.company.myApp.Activity.class”更改为“de.company.myApp.Activity”,即从类名中删除.class扩展名。 然后在调用Intent时这样做..
Intent notificationIntent = new Intent(this, Class.forName(intentUri));
希望这会有所帮助..