友盟-推送-Andorid-消息推送-打开通知消息进入特定Activity操作?

 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
匿名用户
2015-07-20
展开全部
要获取参数的话 只能通过自定义打开行为,重写dealWithCustomAction

在消息推送SDK里,有一个类UmengNotificationClickHandler,负责处理消息的点击事件。 该类主要有四个成员方法:

public void launchApp(Context context, UMessage msg);
public void openUrl(Context context, UMessage msg);
public void openActivity(Context context, UMessage msg);
public void dealWithCustomAction(Context context, UMessage msg);
这四个方法,分别对应于四种打开方式。其中,launchApp、openUrl、openActivity这三个方法已经由消息推送SDK完成,而dealWithCustomAction则只是一个空的方法。 若开发者需要处理自定义行为,则可以重写方法dealWithCustomAction();其中自定义行为的内容,存放在UMessage.custom中。下面是处理自定义行为的代码:

/**
* 该Handler是在BroadcastReceiver中被调用,故
* 如果需启动Activity,需添加Intent.FLAG_ACTIVITY_NEW_TASK
* */
UmengNotificationClickHandler notificationClickHandler = new UmengNotificationClickHandler(){
@Override
public void dealWithCustomAction(Context context, UMessage msg) {
Toast.makeText(context, msg.custom, Toast.LENGTH_LONG).show();
}
};
mPushAgent.setNotificationClickHandler(notificationClickHandler);
注意
以上代码需在 Application 的onCreate() 中调用使用以下接口,而不是在Activity 中调用。如果在Activity中调用此接口,若应用进程关闭, 则设置的接口会无效。 请参考demo 应用代码。
该Handler是在BroadcastReceiver中被调用。因此若需启动Activity,需为Intent添加Flag:Intent.FLAG_ACTIVITY_NEW_TASK,否则无法启动Activity。
若开发者想自己处理打开网页、打开APP、打开Activity,可重写相应的函数来实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式