【第22期】观点:IT 行业加班,到底有没有价值?

融云--IMKit 自带消息推送

原创 2016年08月31日 09:46:48

2.6.0 之后的版本必须自定义一个继承 PushMessageReceiver 的广播接收器,否则可能会导致点击后台通知没有反应,或者收不到推送通知等问题。

1、自定义一个 BroadcastReceiver 类

继承PushMessageReceiver 类,实现onNotificationMessageArrived和onNotificationMessageClicked方法。

public class DemoNotificationReceiver extends PushMessageReceiver {
   /**
     * 用来接收服务器发来的通知栏消息(消息到达客户端时触发)
     * 默认return false,通知消息会以融云 SDK 的默认形式展现
     * 如果需要自定义通知栏的展示,在这里实现⾃己的通知栏展现代码,只要return true即可
     */
    @Override
    public boolean onNotificationMessageArrived(Context context, PushNotificationMessage message) {

        return false;
    }
     /**
     * ⽤户点击通知栏消息时触发 (注意:如果⾃定义了通知栏的展现,则不会触发)
     * 默认 return false
     * 如果需要自定义点击通知时的跳转,return true即可
     */
    @Override
    public boolean onNotificationMessageClicked(Context context, PushNotificationMessage message) {
        return false;
    }
}

2、把DemoNotificationReceiver 注册到应用的 AndroidManifest.xml 里面

<receiver
    android:exported="true"
    android:name="您自定义的 broadcastReceiver 类名">
    <intent-filter>
        <action android:name="io.rong.push.intent.MESSAGE_ARRIVED" />
        <action android:name="io.rong.push.intent.MI_MESSAGE_ARRIVED" />
        <action android:name="io.rong.push.intent.MESSAGE_CLICKED" />
        <action android:name="io.rong.push.intent.MI_MESSAGE_CLICKED" />
    </intent-filter>
</receiver>

3、拦截推送消息的点击

点击推送消息时默认会触发出下面的action 事件:

Intent intent = new Intent();
intent.setFlags(intent.FLAG_ACTIVITY_NEW_TASK);

Uri.Builder uriBuilder = Uri.parse("rong://" + this.getPackageName()).buildUpon();
uriBuilder.appendPath("push_message")
        .appendQueryParameter("targetId", targetId)
        .appendQueryParameter("pushData", pushData)
        .appendQueryParameter("pushId", pushId)
        .appendQueryParameter("extra", extra);

startActivity(intent);

这时我们可以在你的 AndroidManifest.xml ⾥面配置了 A activity 拦截这个 action, 那么点击时就会跳转到 activity A。

<activity
android:name="A"
android:launchMode="singleTask"
android:screenOrientation="portrait">

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />

    <data
        android:host="你的包名"
        android:pathPrefix="/push_message"
        android:scheme="rong" />
</intent-filter>
</activity>

详细内容请点击:Android 推送服务开发指南

版权声明:本文为博主原创文章,未经博主允许不得转载。不经过允许copy,将追究法律责任,欢迎加入我们的学习提升群523988350,可以相互交流 举报

相关文章推荐

基于融云的即时通讯开发(一)

一.概述现在的应用中,即时通讯功能已经很普遍了,从这篇文章开始,我们以第三方平台融云的服务为基础,研究一下如何开发一个具有及时通信功能的软件。首先,进入融云的官网,地址如下: http://rong...

集成融云 即时通讯总结

应用加入及时通讯,自己写,需要需要很多资源,继承第三方是面前比较快捷的办法,第三方有融云,环信,网易云信  最近集成融云的sdk, 安装官方说明引入jar包 RongIM.class 为融云消息启...

java 融云推送

注:工具类1public class RongCloudMethodUtil { /** * 获取token * * @param userId * @param name *...

Dbutil增删改查

public class MainActivity extends Activity { private ListView lv; private Button bt1; private Bu...

android项目实践之融云聊天服务端与客户端的实现

最近研究了即时通讯,当然用户是第三方IM。融云和网易云信在市场上的使用用户都挺多,但是我还是选择了融云并且研究了一番,也终于有些成果并跟大家分享。下面是效果图。 一、开发前的准备首先我们肯定是要去...

怎么使用融云IM的推送功能,融云推送API

当然首选你得先集成SDK 随后自定义一个 BroadcastReceiver 类 为了接收推送消息,您需要自定义一个继承自 PushMessageReceiver 类的 Broadcast...

30.融云即时通讯基本的收发消息(IMLib)

融云即时通讯基本的收发消息(IMLib)

融云--IMKit 自定义会话界面

1、输入框自定义 在会界面中可以设置输入框的模式。针对聊天会话的语音/文本切换功能、内容输入功能、扩展功能,融云目前提供了 九 种排列组合模式, 该 九 种形式定义在 rc_conversation_...

RxPermissions解决Android 6.0 获取运行权限问题

APP在适配6.0版本的时候,我们就需要给应用增加运行时权限管理。在6.0开始有一套新的权限管理机制便于更好的保护用户隐私,一般涉及用户隐私的都需要提示用户是否允许和拒绝APP使用该权限。RxPerm...

融云--如何显示用户昵称和头像的

融云认为,每一个设计良好且功能健全的 App 都应该能够在本地获取、缓存并更新用户信息。所以,融云不维护用户基本信息(用户 Id、昵称、头像)。此外,App 提供用户信息也避免了由于缓存导致的用户信息...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)