点击百度推送通知,跳转到指定Activity
很多同学在使用百度推送的时候,能够正常地收到百度推送的消息,但点击消息的时候没有反应
准备工作
一个能够成功接收百度推送的应用就够了
其实在百度推送的官网里面已经说得很明白了,只是可能很多朋友没有找到
1. 找到百度推送官网-文档中心,点击常见问题
2. 这时会跳转到-Android客户端常见问题汇总
3. 现在就会看到自定义行为实现的两种方法
使用控制台推送:不用说都知道,这两行代码就是跳转到指定Activity的关键
intent:#Intent;action=com.baidu.push.example.Login;category=android.intent.category.LAUNCHER;launchFlags=0x10000000;component=com.baidu.push.example/.LoginActivity;end
<intent-filter>
<action android:name="com.baidu.push.example.Login" />
</intent-filter>
首先,确定一个你需要跳转到的Activity
我这里选择PushActivity
确定好之后,在注册这个Activity的时候加上
<activity android:name=".PushActivity">
<intent-filter>
<action android:name="com.radish.push.xxx" /> <!--输入你喜欢的名字就行了-->
</intent-filter>
</activity>
到这里,代码上面的工作就差不多做完了,下面可以开始使用百度推送发送消息了
打开百度云推送-控制台
选择你已经绑定号的应用
创建通知
输入标题和内容
点击高级设置
这里可以自定义通知的样式,和自定义行为
选择自定义行为
填写相应的内容
intent:#Intent;action=com.radish.push.xxx;category=android.intent.category.LAUNCHER;launchFlags=0x10000000;component=com.radish.push/.PushActivity;end
这里只需要修改两个地方
1. action=com.radish.push.xxx 就是你要跳转到的Activity的action的name
2. component=com.radish.push/.PushActivity 就是自己的包名 / activity名
值得注意的是:包名并不是文件的路径名,比如:
当需要跳转的Activity变成BaiduPushActivity的时候,
component=com.radish.push.activity/.BaiduPushActivity 这个写法就是错误的
而应该写成
component=com.radish.push/.activity.BaiduPushActivity 这样才能进行跳转
以上就是我在使用百度推送时候遇到的问题。