离线消息设置:
<!-- 【必须】消息收发service -->
<service
android:name="com.tencent.qalsdk.service.QalService"
android:exported="false"
android:process=":QALSERVICE"></service>
<service
android:name="com.tencent.qalsdk.service.QalAssistService"
android:exported="false"
android:process=":QALSERVICE"></service>
<!-- 【必须】 离线消息广播接收器 -->
<receiver
android:name="com.tencent.qalsdk.QALBroadcastReceiver"
android:exported="false">
<intent-filter>
<action android:name="com.tencent.qalsdk.broadcast.qal" />
</intent-filter>
</receiver>
<!-- 系统消息广播接收器 -->
<receiver
android:name="com.tencent.qalsdk.core.NetConnInfoCenter"
android:process=":QALSERVICE">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.TIME_SET" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.TIMEZONE_CHANGED" />
</intent-filter>
<!-- ImSDK 3.0.2 后添加 -->
<intent-filter>
<action android:name="com.tencent.qalsdk.service.TASK_REMOVED" />
</intent-filter>
</receiver>
/**
* 初始化腾讯云离线推送
*/
private void initIMOfflinePush() {
if (MsfSdkUtils.isMainProcess(this)) {
TIMManager.getInstance().setOfflinePushListener(new TIMOfflinePushListener() {
@Override
public void handleNotification(TIMOfflinePushNotification notification) {
if (notification.getGroupReceiveMsgOpt() == TIMGroupReceiveMessageOpt.ReceiveAndNotify) {
//消息被设置为需要提醒
notification.doNotify(getApplicationContext(), R.drawable.ic_launcher);
}
}
});
}
}
/**
* 设置离线消息
*/
public void setOfflineMessage() {
final Uri notifyMusic = Uri.parse("android.resource://com.chat.test/" + R.raw.dudulu);
TIMManager.getInstance().getOfflinePushSettings(new TIMValueCallBack<TIMOfflinePushSettings>() {
@Override
public void onError(int i, String s) {
// Log.e(TAG, "get offline push setting error " + s);
}
@Override
public void onSuccess(TIMOfflinePushSettings timOfflinePushSettings) {
TIMOfflinePushSettings settings = timOfflinePushSettings;
settings.setEnabled(true);//设置是否开启离线推送
settings.setC2cMsgRemindSound(notifyMusic);//获取收到 c2c 消息的离线推送时的提醒声音
settings.setGroupMsgRemindSound(null);//设置收到群消息的离线推送时的提醒声音
TIMManager.getInstance().setOfflinePushSettings(settings);
}
});
}